概述: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;
}
}