数值新增特性

1 二进制和八进制的表示方式

//二进制表示 ES6表示方式
var n1 = 0b1010010;

// 八进制表示 ES6之前的表示方式  严格模式不可用
var n2 = 017; 

// 八进制表示, ES6表示方式
var n3 = 0o17;

2 Number 构造函数本身新增的方法和属性

属性名 描述
Number.MAX_SAFE_INTEGER 最大的安全整数
Number.MIN_SAFE_INTEGER 最小安全整数
Number.EPSILON 它表示相邻两个浮点数的最小差值,是 JavaScript 能够表示的最小精度
方法名 描述
Number.isNaN() 同全局函数 isNaN()
Number.isFinite() 同全局函数 isFinite()
Number.parseInt() 同全局函数 parseInt()
Number.parseFloat() 同全局函数 parseFloat()
Number.isInteger() 返回布尔值,用来判断一个数值是否为整数
Number.isSafeInteger() 返回布尔值,是否是安全的整数,整数范围在-2^53到2^53之间视为安全整数(不包含两个端点)
Number.isInteger(25) // true
Number.isInteger(25.1) // false
Number.isInteger(25.0) // true

// 如果参数不是数值,Number.isInteger返回false。
Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false

// 这个小数的精度达到了小数点后16个十进制位,转成二进制位超过了53个二进制位,导致最后的那个2被丢弃了。
Number.isInteger(3.0000000000000002) // true 

// 如果一个数值的绝对值小于Number.MIN_VALUE(5E-324),即小于 JavaScript 能够分辨的最小值,会被自动转为 0。
Number.isInteger(5E-324) // false
Number.isInteger(5E-325) // true

3 Math 新增的方法

方法名 含义
Math.trunc() 去除一个数的小数部分,返回整数部分
Math.sign() 判断一个数到底是正数、负数、还是零。
参数为正数,返回+1;
参数为负数,返回-1;
参数为 0,返回0;
其他返回 NaN。
Math.cbrt() 计算一个数的立方根
Math.hypot() 返回所有参数的平方和的平方根
Math.trunc(4.1) // 4
Math.trunc(4.9) // 4
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0

Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

Math.hypot(3, 4);        // 5
Math.hypot(3, 4, 5);     // 7.0710678118654755

results matching ""

    No results matching ""