/**
* 数值扩展(Number Math)
*/
{ //es6多进制
console.log('B',0B111110111); //2进制 都是以0B开头
console.log(0o767); //8进制 都是以0O开头
}
{ //判断数字的有效性
console.log('15',Number.isFinite(15)); //15是否是有效的
console.log('NaN',Number.isFinite(NaN));
console.log('1/0',Number.isFinite('true'/0));
//判断是否是数字(用非)
console.log('NaN',Number.isNaN(NaN)); //true
console.log('0',Number.isNaN(0)); //false
}
{ //-2^53次方 ---- 2^53次方(js中超过这个区间则存储就不在准确)
console.log(Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER); -2^53次方 ---- 2^53次方
console.log('10',Number.isSafeInteger(10)); //判断数字是否是有效的(在次区间中内)
console.log('a',Number.isSafeInteger('a'));
}
{ //判断是否是 整数
console.log('25',Number.isInteger(25)); //true
console.log('25.0',Number.isInteger(25.0)); //true
console.log('25.1',Number.isInteger(25.1)); //false
console.log('25.1',Number.isInteger('25')); //false
}
{ //只取整数部分(相当于下取整)
console.log(4.1,Math.trunc(4.1)); //4
console.log(4.9,Math.trunc(4.9)); //4
}
{ //判断数字是 正数 负数 还是 零
console.log('-5',Math.sign(-5)); //-1 负数
console.log('0',Math.sign(0)); //0 0
console.log('5',Math.sign(5)); //1 正数
console.log('50',Math.sign('50')); //1 (进行了隐式转换)
console.log('foo',Math.sign('foo')); //NaN
}
{ //立方根
console.log('-1',Math.cbrt(-1)); //-1
console.log('8',Math.cbrt(8)); //2
}