概念
Math称为数学函数,提供了很多操作数字的方法
typeof Math;//'object'
取绝对值
Math.abs(x)
取绝对值
注意:传的不是number类型,会先进行隐式类型转换
Math.abs(-1); // 1
Math.abs('-1'); // 1
取整数
Math.ceil(x)
把一个数向上取整
Math.ceil(1.1);//2
Math.ceil(-1.1);//-1
Math.ceil('1.1');//2
Math.floor(x)
把一个数向下取整
Math.floor(1.9);//1
Math.floor(-1.9);//-2
Math.floor('1.9');//1
Math.round(x)
四舍五入
Math.round(1.4);//1
Math.round(1.5);//2
Math.round(-1.5);//-1
Math.round('1.5')//2
取最大 / 最小
Math.max(x1,x2,…)
获取最大值
注意:参数中至少有一个参数无法被转换成数字,则会返回 NaN
Math.max(1, 2, 3);//3
Math.max(1, 2, '3');//3
Math.max([1, 2, 3]);//NaN
Math.min(x1, x2,…)
获取最小值
注意:参数中至少有一个参数无法被转换成数字,则会返回 NaN
Math.mix(1, 2, 3);//1
Math.mix(1, 2, '3');//1
Math.mix([1, 2, 3]);//NaN
获取数组中的最大值
- 方法1:使用 apply 方法
Math.max.apply(null, [1,2,3])
- 方法2:使用 扩展运算符
Math.max(...[1, 2, 3])
开方/取幂
Math.sqrt(x)
给一个数开平方
注意:参数为负值,则会返回 NaN
Math.sqrt(9); // 3
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Math.sqrt(-0); // -0
Math.pow(base, x)
返回基数的指数次幂
参数1:基数
参数2:指数
通过 ES6的 ** 也可实现
Math.pow(2,3);//8
2 ** 3;//8
取随机数
Math.random()
获取0到1之间的随机小数(不包含0和1)
Math.random();//随机小数
获取 n 到 m 的随机整数(包含 n 和 m)
Math.round(Math.random()*(m-n)+n)
圆周率
Math.PI
Math.PI;//3.141592653589793
封装获取随机验证码
// 考虑重复
var btn = document.querySelector("button");
function createCode() {
let area ="0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm",
codeText = "",
ran,
char;
while (codeText.length < 4) {
ran = Math.round(Math.random() * 61);
char = area.charAt(ran);
if (codeText.toUpperCase().indexOf(char.toUpperCase()) === -1) {
codeText += area.charAt(ran);
}
}
btn.innerHTML = codeText;
}
btn.onclick = createCode;
JavaScript数学函数详解:取绝对值、取整与随机数生成,
本文介绍了JavaScript中的Math对象,包括如何取绝对值、向上/向下取整、四舍五入,找到最大/最小值,开方,计算幂次以及生成随机数。还展示了如何从数组中获取最大值和创建随机验证码的方法。
634

被折叠的 条评论
为什么被折叠?



