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 之间的随机数

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

  2、随机生成颜色 RGB

 1 //  随机生成颜色RGB   [0, 255] 整数
 2 // 定义生成随机数整数的函数
 3 function random(min, max) {
 4    return Math.floor(Math.random() * (max - min + 1) + min);
 5 }
 6 // 定义生成随机颜色的函数
 7 function randomRGB(min, max) {
 8    var color1 = random(min, max);
 9    var color2 = random(min, max);
10    var color3 = random(min, max);
11 
12    return 'rgb(' + color1 + ', ' + color2 + ', ' + color3 + ')';
13 }
14 
15 console.log(randomRGB(0, 255))

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

 1 // max() 获取参数列表中的最大值;min() 获取参数列表中的最小值;
 2  var MyMath = {                         // 自定义一个对象
 3     max: function () {                  // 在对象内定义一个静态方法 max
 4      var max = arguments[0];
 5      for (var i = 1; i < arguments.length; i++) {
 6        if (max < arguments[i]) {
 7          max = arguments[i];
 8        }
 9      }
10      return max;
11     },
12     min: function () {                  // 在对象内定义一个静态方法 min
13       var min = arguments[0];
14        for (var i = 1; i < arguments.length; i++) {
15          if (min > arguments[i]) {
16            min = arguments[i];
17          }
18        }
19        return min;
20     }
21    };
22 
23 console.log(MyMath.max(10, 1, 100, 20));
24 console.log(MyMath.min(10, 1, 100, 20));

 

posted on 2019-08-16 11:19  格物致知_Tony  阅读(216)  评论(0编辑  收藏  举报