JavaScript Number对象
2021-10-12 本文已影响0人
微语博客
JavaScript Number对象是JavaScript数字的包装类,Number对象有预定义的属性和一些数字处理方法。JavaScript 只有一种数字类型,可以使用也可以不使用小数点来书写数字。
JavaScript数字
既可以是数字,也可以是对象,数字对象值相等时类型不会相等。
var num = 1;
var num1 = new Number(1);
console.log(num == num1);//true
console.log(num === num1);//false
非数值NaN
NaN表示一个非数值的数字,它不是一个数,但是它的类型却是数字类型,而且它不等于任何数,包括它自己。
console.log(typeof NaN);//'number'
console.log(NaN == NaN);//false
无穷大Infinity
当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(Infinity)值,在JavaScript中以Infinity表示。无穷大和其它数计算时结果也是无穷大,但是有正负。
var num = Infinity;
console.log(typeof num);//'number'
console.log(1-num);//-Infinity
除以0也产生了无穷大,学校老师教的0不能作除数,可能只是结果不能正确的表示。
console.log(1/0);//Infinity
console.log(-1/0);//-Infinity
八进制和十六进制
JavaScript数字默认十进制数,如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。可以通过number.toString(进制);将数值进行转换。
var num = 120;
console.log(num.toString(16));//78
console.log(num.toString(8));//170
console.log(num.toString(2));//1111000
数字常用属性和方法
属性 | 描述 |
---|---|
Number.MAX_VALUE | 最大值 |
Number.MIN_VALUE | 最小值 |
Number.NaN | 非数字 |
Number.NEGATIVE_INFINITY | 负无穷,在溢出时返回 |
Number.POSITIVE_INFINITY | 正无穷,在溢出时返回 |
Number.EPSILON | 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别 |
Number.MIN_SAFE_INTEGER | 最小安全整数。 |
Number.MAX_SAFE_INTEGER | 最大安全整数。 |
方法 | 描述 |
---|---|
Number.parseFloat() | 将字符串转换成浮点数,和全局方法 parseFloat()作用一致。 |
Number.parseInt() | 将字符串转换成整型数字,和全局方法 parseInt()作用一致。 |
Number.isFinite() | 判断传递的参数是否为有限数字。 |
Number.isInteger() | 判断传递的参数是否为整数。 |
Number.isNaN() | 判断传递的参数是否为 isNaN()。 |
Number.isSafeInteger() | 判断传递的参数是否为安全整数。 |