前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript数值

JavaScript数值

作者头像
hotarugali
发布2022-03-01 09:14:42
9360
发布2022-03-01 09:14:42
举报

1. 概述

JavaScript 只有一种数值类型,书写数值时带不带小数点均可。超大或超小的数可通过科学计数法来写。

  • JavaScript 数值始终是 64 位的浮点数。此格式用 64 位存储数值,其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号:

指数

符号

52 bits(0 - 51)

11 bits (52 - 62)

1 bit (63)

  • 精度:整数(不使用指数或科学计数法)会被精确到 15 位。
  • NaN(非数值):NaN 属于 JavaScript 保留词,指示某个数不是合法数。尝试用一个非数字字符串进行除法会得到 NaN(Not a Number)。
  1. 可使用全局 JavaScript 函数 isNaN() 来确定某个值是否是数。
  2. 如果您在数学运算中使用了 NaN,则结果也将是 NaN。
  3. NaN 是数,typeof NaN 返回 number。
  • Infinity :Infinity (或 -Infinity)是 JavaScript 在计算数时超出最大可能数范围时返回的值。
  1. 除以 0(零)也会生成 Infinity。
  2. Infinity 是数:typeOf Infinity 返回 number。
  • 十六进制 :JavaScript 会把前缀为 0x 的数值常量解释为十六进制。

也可以使用 toString() 方法把数输出为十六进制、八进制或二进制。

【注】一些 JavaScript 版本会把带有前导零的数解释为八进制。

  • 对象 :数值可以是对象,但最好不要把数值创建为对象,它会拖慢执行速度。
代码语言:javascript
复制
var x = 123;                // 字面方式
var y = new Number(123);    // 对象方式
  1. 当使用 == 相等运算符时,相等数值是相等的。
  2. 当使用 === 运算符时,相等数值是不相等的,因为 === 运算符需要类型和值同时相等。
  3. 更糟的是两个对象是无法比较的。

2. 方法

2.1 数值方法

所有数值方法可用于任意类型的数值(字面量、变量或表达式)。

  • toString() :以字符串返回数值。
  • toExponential() :返回字符串值,它包含已被四舍五入并使用指数计数法的数字。参数定义小数点后的字符数。该参数是可选的。如果您没有设置它,JavaScript 不会对数字进行舍入。
  • toFixed() :返回字符串值,它包含了指定位数小数的数字。
  • toPrecision() :返回字符串值,它包含了指定长度的数字。
  • valueOf() :以数值返回数值。 【注】在 JavaScript 内部使用 valueOf() 方法可将 Number 对象转换为原始值。

2.2 全局方法

  • Number() :可用于把 JavaScript 变量转换为数值。如果无法转换数字,则返回 NaN。

Number() 还可以把日期转换为数字。Number() 方法返回 1970 年 1 月 1 日至今的毫秒数。

  • parseInt() :解析一段字符串并返回数值。允许空格。只返回首个数值的整数部分。如果无法转换为数值,则返回 NaN (Not a Number)。
  • parseFloat() :解析一段字符串并返回数值。允许空格。只返回首个数值。如果无法转换为数值,则返回 NaN (Not a Number)。

3. 属性

属性

描述

MAX_VALUE

返回 JavaScript 中可能的最大数。

MIN_VALUE

返回 JavaScript 中可能的最小数。

NEGATIVE_INFINITY

表示负的无穷大(溢出返回)。

NaN

表示非数字值(“Not-a-Number”)。

POSITIVE_INFINITY

表示无穷大(溢出返回)。

【注】数值属性不可用于变量。这些属性只能作为 Number 的属性访问,比如 Number.MAX_VALUE。使用 myNumber.MAX_VALUE,其中 myNumber 是变量、表达式或值,将返回 undefined。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 概述
  • 2. 方法
    • 2.1 数值方法
      • 2.2 全局方法
      • 3. 属性
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档