内置方法中比较容易纠结的点都总结在下面了:
最值:
//最值方法
console.log(Math.max()); //没有参数,返回负无穷大 -Infinity
console.log(Math.max(1, 2, 3, 4, 'dddd')); //检测到非数字,直接返回NaN ,min方法一样
绝对值:
//绝对值方法
console.log(Math.abs('-1')); //字符串类型的在此方法内存在‘隐转换’,结果为数字1
console.log(Math.abs('kano')); //结果为NaN
取整:
//取整方法
console.log(Math.floor(-1.1)); //这里和Excel的INT函数是一样的,往小了取整(向下取整) 结果为-2
console.log(Math.ceil(-1.1)); //往大了取整(向上取整),结果为-1
四舍五入:
//四舍五入方法
console.log(Math.round(-1.5)); //结果为-1 四舍五入的原理是在原来的数值上加0.5然后做向下取整(略坑)。
console.log(Math.round(-1.6)); //结果为-2 等价于Math.floor(-1.6+0.5) = -2
随机数(重要):
//随机数方法
let max = 9,
min = 1;
//random区间[0,1);
console.log(Math.floor(Math.random() * (max - min + 1)) + min); //随机取区间内的数(双闭区间) 常用
console.log(Math.random() * (max - min) + min); //随机取区间内的数(左闭右开区间)