JavaScript 的 Number
对象是用来处理数字和执行数学计算的全局对象。以下是 Number
对象的一些常用属性和方法的详细介绍和示例。
Number 对象属性
constructor:返回创建此对象的函数。对于
Number
对象,它指向Number
构造函数。let num = 42; console.log(num.constructor === Number); // true
MAX_VALUE:可以表示的最大数字,超过这个值会在 JavaScript 中转为
Infinity
。console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
MIN_VALUE:可以表示的最小数字,低于这个值会在 JavaScript 中转为
0
。console.log(Number.MIN_VALUE); // 5e-324
NEGATIVE_INFINITY:负无穷大,用于表示溢出的负数。
console.log(-Infinity === Number.NEGATIVE_INFINITY); // true
NaN:非数字值,用于表示一个未定义或不可表示的数字。
console.log(NaN === Number.NaN); // true console.log(isNaN(NaN)); // true
POSITIVE_INFINITY:正无穷大,用于表示溢出的正数。
console.log(Infinity === Number.POSITIVE_INFINITY); // true
prototype:
Number
对象的原型,包含可以附加到Number
实例的方法。
Number 对象方法
isFinite():判断给定的数是否为有限数。
console.log(Number.isFinite(Infinity)); // false console.log(Number.isFinite(NaN)); // false console.log(Number.isFinite(5)); // true
isInteger():判断给定的数是否为整数。
console.log(Number.isInteger(4.2)); // false console.log(Number.isInteger(5)); // true
isNaN():判断给定的数是否为
NaN
。console.log(Number.isNaN(NaN)); // true console.log(Number.isNaN(10)); // false
isSafeInteger():判断给定的数是否为安全整数(即是否在
-2^53 + 1
到2^53 - 1
之间)。console.log(Number.isSafeInteger(Math.pow(2, 53) - 1)); // true console.log(Number.isSafeInteger(Math.pow(2, 53))); // false
toExponential(x):将数字转换为科学计数法表示。
console.log((123.456).toExponential()); // "1.23456e+2" console.log((123.456).toExponential(2)); // "1.2e+2"
toFixed(x):将数字转换为字符串,保留指定的小数位数。
console.log((123.456).toFixed(2)); // "123.46" console.log((123.456).toFixed(4)); // "123.4560"
toLocaleString(locales, options):将数字转换为特定语言环境的字符串表示。
console.log((123456.789).toLocaleString()); // "123,456.789" (根据本地环境可能不同)
toPrecision(x):将数字格式化为指定的精度。
console.log((123.456).toPrecision(2)); // "1.2e+2" console.log((123.456).toPrecision(4)); // "123.5"
toString():将数字转换为字符串,可以指定基数。
console.log((10).toString()); // "10" console.log((10).toString(2)); // "1010"
valueOf():返回
Number
对象的原始值。
```javascript
let num = new Number(10);
console.log