es6-数值的扩展
1.新增方法
1.二进制表示方法:以(零)0b开头
console.log(0b111110111);
输出为十进制
八进制表示为0o开头
console(0o767);
这里的b,o可以大写
2. 判断一个值是否有尽,是否为无穷大或小
{
console.log("15",Number.isFinite(15)); console.log("2/0",Number.isFinite(2/0));
}
不是数字的都为false
3.判断数是否是数
console.log("NaN",Number.isNaN(NaN)); console.log('0',Number.isNaN(0));
如果不是数字就为true,反之为false
4.判断是否为整数
console.log("25",Number.isInteger(25)); console.log('25.0',Number.isInteger(25.0)); console.log('25.1',Number.isInteger(25.1));
可见25.0也会认为是整数
5.判断一个数是否在2的正负53次方之间,不包含此两端点
因为在js中,如果数的范围超过了这个范围,那么这个数值的存储就不准了
console.log(Number.MAX_SAFE_INTEGER);//MAX_SAFE_INTEGER是一个常量,表示数的最大上限,MIN_SAFE_INTEGER
9007199254740991
console.log("10",Number.isSafeInteger(10)); console.log("a",Number.isSafeInteger('a'));
6.取整
console.log("4.1",Math.trunc(4.1)); console.log("4.9",Math.trunc(4.9));
这是向上取整
7.判断正负数
console.log("-5",Math.sign(-5));//-1
console.log("0",Math.sign(0));//0
console.log("5",Math.sign(5));//1
console.log("50",Math.sign("50")); //输出为1,这个API和上面的API不同,可以将字符转化成数值
console.log("foo",Math.sign("foo"));//输出为NaN
8.立方根的计算
console.log('-1',Math.cbrt(-1));//-1
console.log('8',Math.cbrt(8));//2