5.数值的扩展

回到目录

各进制表示法

进制 表示方法 例子
二进制 0b(或 0B) 0b111110111 === 503
八进制 0o(或 0O) 0o767 === 503

Number 的 api

api 作用
Number.isFinite() 用来检查一个数值是否为有限的(finite),即不是 Infinity
Number.isNaN() 用来检查一个值是否为 NaN。
Number.isInteger() 用来判断一个数值是否为整数。
Number.parseInt() 同 window.parseInt()
Number.parseFloat() 同 window.parseFloat()
Number.isSafeInteger() 用来判断一个整数是否落在(-253,253)范围之内

Math 扩展 API

api 使用方法 作用 返回值
Math.trunc() Math.trunc(2.9) // 2 去除一个数的小数部分 返回整数部分
Math.sign() Math.sing(-12) // -1 判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。 参数为正数,返回+1;参数为负数,返回-1;参数为 0,返回 0;参数为-0,返回-0;其他值,返回 NaN。
Math.cbrt() Math.cbrt(8) // 2 计算一个数的立方根。 计算结果
Math.clz32() Math.clz32(1) 计算一个数的 32 位二进制形式的前导 0 的个数,将一个数转换成二进制,然后补全为 32 位,返回在前面补的 0 的个数 返回 0 的个数
Math.hypot() Math.hypot() 计算所有参数的平方和的平方根 返回计算结果

例子

var arr = [3, 4];
Math.hypot(...arr); // 5

对数方法

双曲函数方法

指数运算符

ES2016 新增了一个指数运算符(**)和 (**=)

这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。

// 相当于 2 ** (3 ** 2)
2 ** (3 ** 2);
// 512

let b = 4;
b **= 3;
// 等同于 b = b * b * b;

回到目录

你可能感兴趣的:(5.数值的扩展)