Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供
跟数学相关的运算来找Math中的成员(求绝对值,取整)
Math
实例对象:通过构造函数创建出来,实例化的对象
静态对象:不需要创建,直接就是一个对象,方法(静态方法)直接通过这个对象名字调用,
实例方法必须通过实例对象调用
静态方法必须通过大写的对象调用
演示:Math.PI、Math.random()、Math.floor()/Math.ceil()、Math.round()、Math.abs() 、Math.max()
Math.PI // 圆周率
Math.random() // 生成随机数
Math.floor()/Math.ceil() // 向下取整/向上取整
Math.round() // 取整,四舍五入
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值
Math.sin()/Math.cos() // 正弦/余弦
Math.pow()/Math.sqrt() // 求指数次幂/求平方根

案例

  • 求10-20之间的随机数
  • 随机生成颜色RGB

    1. function getColor() {
    2. var str = "#";
    3. //一个十六进制的值的数组
    4. var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
    5. for (var i = 0; i < 6; i++) {
    6. //产生的每个随机数都是一个索引,根据索引找到数组中对应的值,拼接到一起
    7. var num = parseInt(Math.random() * 16);
    8. str += arr[num];
    9. }
    10. return str;
    11. }
    12. //页面记载的事件
    13. window.onload = function () {
    14. //在文档中通过id属性的值查找这个元素(标签).设置该标签的背景颜色
    15. document.getElementById("dv").style.backgroundColor = getColor();
    16. };

    test.gif

  • 猜数字游戏
    从键盘输入数字,对一个指定的随机数(随机数值在1-100之间)进行猜,如果猜错了,提示大了或小了,如果猜对了,游戏结束。
    要求写一个猜数字的工具函数GusessTool,函数提供一个静态方法guess{},在该方法中实现具体功能

    1. <script>
    2. //只有对象才有具体信息
    3. function Person(name,age){
    4. this.name = name;
    5. this.age = age;
    6. }
    7. var p = new Person("zhangsan",18);
    8. console.log(p.name); //才是打印对象的信息
    9. //打印构造器的名字
    10. console.log(Person.name);
    11. </script>

    image.png

    取整

    Math.ceil() 上取整
    Math.floor() 下取整
    Math.round() 四舍五入取整

    1. var a = 12.34;
    2. console.log(Math.ceil(a))
    3. console.log(Math.floor(a))
    4. console.log(Math.round(a))

    image.png

取最值

Math.max()
Math.min()

var arr = [1,2,3,4,5,6]
console.log(Math.max(...arr))
console.log(Math.min(...arr))

image.png

随机数

Math.random()
使用后会随机出现0到1之间的值,不包含1,也就是 0<=num<1

console.log(Math.random())

test.gif