🧷关于Number对象
JavaScript 的 Number 对象是经过封装的能让你处理数字值的对象。Number 对象由 Number() 构造器创建。构造函数为new Number(value);如果参数无法被转换为数字,则返回 NaN。在非构造器上下文中 (如:没有 new 操作符),Number(x) 能被用来执行类型转换。
- Number 对象
Number 对象是原始数值的包装对象。
Number 对象可以作为构造函数使用,也可以作为工具函数使用;作为构造函数时,它用于生成值为数值的对象。
创建 Number 对象的语法:
var num = Number(value) var num = new Number(value);
- 参数 value是要创建的 Number 对象的数值,或是要转换成数字的值。
- 返回值
当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象。如果不用 new 运算符,把 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。
注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。
🧩Number 对象属性
属性 | 描述 |
constructor | 返回对创建此对象的 Number 函数的引用。 |
MAX_VALUE | 可表示的最大的数。 |
MIN_VALUE | 可表示的最小的数。 |
NEGATIVE_INFINITY | 负无穷大,溢出时返回该值。 |
NaN | 非数字值。 |
POSITIVE_INFINITY | 正无穷大,溢出时返回该值。 |
prototype | 允许您可以向对象添加属性和方法。 |
补充:
属性 | 描述 |
Number.EPSILON | 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别 |
Number.MIN_SAFE_INTEGER | 最小安全整数。 |
Number.MAX_SAFE_INTEGER | 最大安全整数。 |
ES6 新增 Number 属性
ES 6 增加了以下三个 Number 对象的属性:
- EPSILON: 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别
- MIN_SAFE_INTEGER: 表示在 JavaScript中最小的安全的 integer 型数字 (
-(253 - 1)
)。 - MAX_SAFE_INTEGER: 表示在 JavaScript 中最大的安全整数(
253 - 1
)。
🧩Number 对象方法
方法 | 描述 |
isFinite | 检测指定参数是否为无穷大。 |
isInteger | 检测指定参数是否为整数。 |
isNaN | 检测指定参数是否为 NaN。 |
isSafeInteger | 检测指定参数是否为安全整数。 |
toExponential(x) | 把对象的值转换为指数计数法。 |
toFixed(x) | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toLocaleString(locales, options) | 返回数字在特定语言环境下的表示字符串。 |
toPrecision(x) | 把数字格式化为指定的长度。 |
toString() | 把数字转换为字符串,使用指定的基数。 |
valueOf() | 返回一个 Number 对象的基本数字值。 |
补充:
方法 | 描述 |
Number.parseFloat() | 将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。 |
Number.parseInt() | 将字符串转换成整型数字,和全局方法 parseInt() 作用一致。 |
ES6 新增 Number 方法
ES 6 增加了以下两个 Number 对象的方法:
- Number.isInteger(): 用来判断给定的参数是否为整数。
- Number.isSafeInteger(): 判断传入的参数值是否是一个"安全整数"。
Number.isInteger() 在参数是整数时返回 true。
Number.isInteger(10); // 返回 trueNumber.isInteger(10.5); // 返回 false