• Math 对象上提供的计算要比直接在JavaScript实现的快得多,因为Math对象上的计算使用了JavaScript引擎中更高效的实现和处理器指令

Math对象属性

min() 和 max()方法

  • min()和 max()方法用于确定一组数值中的最小值和最大值;
  • 这两个方法都接收任意多个参数;
1
2
3
4
let max = Math.max(3, 54, 32, 16); 
console.log(max); // 54
let min = Math.min(3, 54, 32, 16);
console.log(min); // 3
  • 要知道数组中的最大值和最小值,可以像下面这样使用扩展操作符:
1
2
let values = [1, 2, 3, 4, 5, 6, 7, 8]; 
let max = Math.max(...val);

舍入方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
console.log(Math.ceil(25.9)); // 26 
console.log(Math.ceil(25.5)); // 26
console.log(Math.ceil(25.1)); // 26

console.log(Math.round(25.9)); // 26
console.log(Math.round(25.5)); // 26
console.log(Math.round(25.1)); // 25

console.log(Math.fround(0.4)); // 0.4000000059604645
console.log(Math.fround(0.5)); // 0.5
console.log(Math.fround(25.9)); // 25.899999618530273

console.log(Math.floor(25.9)); // 25
console.log(Math.floor(25.5)); // 25
console.log(Math.floor(25.1)); // 25

random()方法

  • Math.random()方法ᤄ回一个 0~1 范围内的随机数
  • 从一组整数中随机选择一个数:
1
number = Math.floor(Math.random() * total_number_of_choices + first_possible_value)
1
2
3
4
5
6
7
8
9
//从 1~10 范围内随机选择一个数
let num = Math.floor(Math.random() * 10 + 1);
//从 2~10 范围内随机选择一个数
function selectFrom(lowerValue, upperValue) {
let choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue);
}
let num = selectFrom(2,10);
console.log(num); // 2~10 范围内的值,其中包含 2 和 10
  • 如果是为了加密而需要生成随机数,建议使用 window.crypto.getRandomValues()

其他方法