(JavaScript)Math 对象使用

24 阅读2分钟

概述:Math属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法,我们可以直接使用它来进行数学运算相关的操作。

Math常见的方法

方法描述
Math.random()生成一个[0-1)之间的随机数;生成一个x-y之间的随机数
Math.round()给定数字的值四舍五入到最接近的整数。
Math.ceil()向上取整
Math.floor()向下取整
Math.abs()绝对值运算
Math.max()求多个数中最大值
Math.min()求多个数中最小值
Math.pow(x,y)求x的y次幂
Math.sqrt()对一个数进行开方
Math.PI常量,圆周率

1.Math使用

console.log(Math.PI);// 3.141592653589793

console.log(Math.abs(-1));//1

console.log(Math.abs('-11'));//11

console.log(Math.max(56, 9, 78, 95, 45));//95

console.log(Math.min(45, 12, 3, 6, 9, 54));//3
console.log(Math.pow(5, 4));//625

console.log(Math.sqrt(9));//3

console.log(Math.ceil(1.5));//2

console.log(Math.floor(1.9));//1

console.log(Math.round(1.5));//2

console.log(Math.round(-1.5));//-1

console.log(Math.random(-1.6));//0.9644827206629316

表示生成大于或等于min且小于max的随机值
Math.random() * (max - min) + min;
表示生成0到任意数之间的随机整数
Math.floor(Math.random() * (max + 1));
表示生成1到任意数之间的随机整数
Math.floor(Math.random() * max + 1);

3.案例1 随机生成10-20(包含10和20)之间的整数

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

4.案例2 利用随机数,实现在数组中随机获取一个元素

function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1) + min);
        }
        console.log(getRandom(10, 20))
        var arr = ['apple', 'banana', 'orange', 'pear']
        console.log(arr[getRandom(0, arr.length - 1)])

5.案例3 随机生成颜色RGB

function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1) + min);
        }
        function getRGB(min, max) {
            var c1 = getRandom(min, max);
            var c2 = getRandom(min, max);
            var c3 = getRandom(min, max);
            return 'rgb(' + c1 + ', ' + c2 + ', ' + c3 + ')';
        }
        console.log(getRGB(0, 255));

6.案例4 猜数字游戏

function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1));
        }
        var random = getRandom(1, 10);
        while (true) {
            var num = prompt('猜数字,范围在1~10之间。');
            if (num > random) {
                alert('你猜大了!')
            } else if (num < random) {
                alert('你猜小了!')
            } else {
                alert('你猜对了')
                break;
             }
        }