JavaScript 之 Math对象

时间:2023-12-21 13:20:02

Math对象

  Math 对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供。

常用方法:

Math.PI           // 圆周率
Math.random() // 生成随机数,生成0~1之间的随机数,包含0,不含1
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 取整,四舍五入
Math.abs() // 取绝对值
Math.max() // 求最大值
Math.min() // 求最小值
Math.sin() // 求正弦值
Math.cos() // 求余弦值
Math.power() // 求指数次幂
Math.sqrt() // 求平方根

案例:

  1、求 10-20 之间的随机数

 Math.random()  ->  [0, 1)    默认生成[0-1)之间小数
公式:Math.floor(Math.random() * (max - min + 1) + min); // 生成[min,max]之间的随机整数 function random(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
} console.log(random(10, 20)); // 调用函数,并输出结果

  2、随机生成颜色 RGB

 //  随机生成颜色RGB   [0, 255] 整数
// 定义生成随机数整数的函数
function random(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
// 定义生成随机颜色的函数
function randomRGB(min, max) {
var color1 = random(min, max);
var color2 = random(min, max);
var color3 = random(min, max); return 'rgb(' + color1 + ', ' + color2 + ', ' + color3 + ')';
} console.log(randomRGB(0, 255))

  3、模拟实现 max()/min()

 // max() 获取参数列表中的最大值;min() 获取参数列表中的最小值;
var MyMath = { // 自定义一个对象
max: function () { // 在对象内定义一个静态方法 max
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
},
min: function () { // 在对象内定义一个静态方法 min
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (min > arguments[i]) {
min = arguments[i];
}
}
return min;
}
}; console.log(MyMath.max(10, 1, 100, 20));
console.log(MyMath.min(10, 1, 100, 20));