javascript基础系列之Number

javascript基础系列之Number

构造函数Number

1
2
3
// 构造函数Number
const a = new Number('123');
console.log(a instanceof Number); // true

静态属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Number.EPSILON   1 与Number可表示的大于 1 的最小的浮点数之间的差值
const x = 0.2;
const y = 0.3;
const z = 0.1;
const equal = (Math.abs(x - y + z) < Number.EPSILON);
console.log(equal); // true

// Number.MAX_SAFE_INTEGER 最大安全整数(2^53-1)
// Number.MIN_SAFE_INTEGER 最小安全整数-(2^53-1)
// Number.MAX_VALUE 能表示的最大数值
// Number.MIN_VALUE 能表示的最小的正值
// Number.POSITIVE_INFINITY 正无穷大
// Number.NEGATIVE_INFINITY 负无穷大
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991
console.log(Number.MAX_VALUE); // 1.79E+308
console.log(Number.MIN_VALUE); // 5e-324
console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(Number.NEGATIVE_INFINITY); // -Infinity

静态方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 静态方法
// Number.isNaN 判断值是否是NaN
console.log(Number.isNaN(NaN)); // true

// Number.isFinite 传入的参数是否是有穷数
console.log(Number.isFinite(1/0)); // false

// Number.isInteger 判断参数是否为整数
console.log(Number.isInteger(10/2)); // true

// Number.isSafeInteger 判断参数是否是安全整数 -(2^53 - 1)到 2^53 - 1
console.log(Number.isSafeInteger(Math.pow(2, 53)));

// Number.parseFloat 把一个字符串解析成浮点数, 和全局的parseFloat相同
console.log(Number.parseFloat("12.3a b")); // 12.3

// Number.parseInt 把一个字符串解析成整数数, 和全局的parseInt相同
console.log(Number.parseInt("12.3a b")); // 12

实例方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Number.prototyp.toExponential 以指数表示法返回该数值字符串表示形式
const val = 123.456;
console.log(val.toExponential()); // 1.23456e+2

// Number.prototyp.toFixed 使用定点表示法来格式化一个数值
const num = 123.456;
console.log(num.toFixed(2)); // 123.46, 保留两位小数,小数点后第3位四舍五入


// Number.prototyp.toPrecision(precision) 以指定的精度返回该数值对象的字符串表示, precision表示有效数个数
const num1 = 123.456;
console.log(num1.toPrecision(4)); // 123.5
console.log(num1.toPrecision(2)); // 1.2e+2 也可能以指数表示法

// Number.prototype.toLocaleString 转换成特定语言的字符串表示
// Number.prototype.toString(radix) 字符串表示形式, radix转换基数
const num2 = 123456.789;
const num3 = 6;
console.log(num2.toLocaleString()); // 123,456.789
console.log(num2.toLocaleString("zh-Hans-CN-u-nu-hanidec")); // 一二三,四五六.七八九
console.log(num3.toString(2)); // 110

// Number.prototype.valueOf 返回Number对象包装的原始值
const numObj = new Number(10);
console.log(typeof numObj); // object
console.log(numObj.valueOf()); // 10, 原始值
参考文档

Number