美文网首页
内置对象:Math对象

内置对象:Math对象

作者: 让思念入土 | 来源:发表于2019-02-15 18:48 被阅读0次

    js里自带一些对象,供我们开发者使用,这些对象提前内置准备好了一些常用的属性和方法,我们直接拿来用就可以了。

    比如:圆周率 3.1415926 Math.PI

    Math内置对象 不是一个构造函数 所以直接使用不需要new

    Math.PI

    直接使用,不需要创建

    console.log(Math.PI)//3.1415926
    

    Math.max() / Math.min()

    返回一组数字中的最大/小值,如果给定的参数中至少有一个参数无法转换为数字则返回NaN。

    console.log(Math.max(10,22,5));//22
    console.log(Math.max(10,'a',5));//NaN
    
    
    console.log(Math.min(10,22,5));//5
    console.log(Math.min(10,'a,5));//NaN
    
    利用对象模拟max和min
    var myMath = {
        max: function () {
             var max = arguments[0];
             for (var i = 1; i < arguments.length; i++) {
                   if (max < arguments[i]) {
                       max = arguments[i];
                   }
              }
              return max;
    },
        min: function () {
             var min = arguments[0];
             for (var i = 1; i < arguments.length; i++) {
                 if (min > arguments[i]) {
                 min = arguments[i];
                 }
            }
            return min;
        }
    }
    alert(myMath.max(1, 2, 3, 5)); //5
    alert(myMath.min(1, 12, 3, 5)); //1
    

    取整函数

    Math.floor 向下取整
    console.log(Math.floor(1.1));//1
    console.log(Math.floor(1.5));//1
    console.log(Math.floor(1.9));//1
    
    console.log(Math.floor(-1.1));//-2
    console.log(Math.floor(-1.5));//-2
    console.log(Math.floor(-1.9));//-22、
    
    Math.ceil向上取整
    console.log(Math.ceil(1.1));//2
    console.log(Math.ceil(1.5));//2
    console.log(Math.ceil(1.9));//2
    
    console.log(Math.ceil(-1.1));//-1
    console.log(Math.ceil(-1.5));//-1
    console.log(Math.ceil(-1.9));//-1
    
    Math.round四舍五入 就近取整
    console.log(Math.round(1.1));//1
    console.log(Math.round(1.9));//2
    console.log(Math.round(-1.1));//-1
    console.log(Math.round(-1.9));//-2
    
    //.5谁大取谁
    console.log(Math.round(1.5));//2
    console.log(Math.round(-1.5));//-1
    

    Math.random生成随机数(重点)

    返回的是0~1之间的随机小数 [0,1)

    这个随机函数括号之间不写参数

    console.log(Math.random());
    

    得到一个两个数之间的随机整数,包括两个数在内的方法:

    function getRandom(min,max){
        return Math.floor(Math.random()*(max-min+1))+min;
    }
    console.log(getRandom(0,5));
    

    案例:随机生成背景颜色

    <style>
        body {
            background-color: rgb(0, 255, 0);
        }
    </style>
    
    <script>
    function getRandom(min,max){
        return Math.floor(Math.random()*(max-min+1))+min;
    }
    console.log(getRandom(0,5));
    function getRandomColor(){
        var c1=getRandom(0,255);
        var c2=getRandom(0,255);
        var c3=getRandom(0,255);
        return 'rgb(' + c1 + ',' + c2 + ',' + c3 + ')'
     }
    console.log(getRandomColor());
    
     // 下面的代码演示写的程序没有错误 
    
    window.onload = function() {
        document.body.style.backgroundColor = getRandomColor();
    }
    </script>
    
    Math.abs()
    alert(Math.abs(-1)); //1
    
    alert(Math.abs('1'));//1  隐式转换 讲字符型转换为数值型  再取绝对值
    
    alert(Math.abs('abs'));//NaN  如果里面参数 有非数字型的 字符串   返回的结果是 NaN
    

    相关文章

      网友评论

          本文标题:内置对象:Math对象

          本文链接:https://www.haomeiwen.com/subject/jebmeqtx.html