Math 对象不是构造函数,不需要new,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。
1. Math对象常用方法
1.1 Max.floor()
Max.floor() floor表示地板,所以该方法是向下取整,即值会变小,不管后面的小数多大,一律向下取整。
let num=10.2;
console.log(Math.floor(num)); // 10
let num1=10.5;
console.log(Math.floor(num1)); // 10
let num2=10.9;
console.log(Math.floor(num2)); // 10
let num3=-10.9;
console.log(Math.floor(num3)); // -11
let num4=-10.3;
console.log(Math.floor(num4)); // -11
1.2 Max.ceil()
Max.ceil() ceil表示天花板,所以该方法用于向上取整,即值会变大。
let num=10.2;
console.log(Math.ceil(num)); // 11
let num1=10.5;
console.log(Math.ceil(num1)); // 11
let num2=10.9;
console.log(Math.ceil(num2)); // 11
let num3=-10.9;
console.log(Math.ceil(num3)); // -10
let num4=-10.3;
console.log(Math.ceil(num4)); // -10
1.3 Max.round()
Max.round() 表示四舍五入取整,正数是满5包括5向上取整,否则向下取整;负数是小数部分大于.5向下取整,否则向上取整
let num = 10.2;
console.log(Math.round(num)); // 10
let num1 = 10.5;
console.log(Math.round(num1)); // 11
let num2 = 10.9;
console.log(Math.round(num2)); // 11
let num3 = -10.9;
console.log(Math.round(num3)); // -11
let num4 = -10.5;
console.log(Math.round(num4)); // -10 注意负数的点5是向上取整的
let num5 = -10.3;
console.log(Math.round(num5)); // -10
1.4 Math.max() / Math.min()
Math.max() 求最大值, Math.min() 求最小值
let num1 = 10;
let num2 = 22;
let num3 = 109;
console.log(Math.max(num1, num2, num3)); // 109
console.log(Math.min(num1, num2, num3)); //10
1.5 Math.abs()
Math.abs() 求绝对值(正数的绝对值是它本身,负数的绝对值是它的相反数,0的绝对值是0)
let num1 = 10;
let num2 = 22.4;
let num3 = -4;
console.log(Math.abs(num1)); // 10
console.log(Math.abs(num2)); // 22.4
console.log(Math.abs(num3)); // 4
2. 随机数方法 random()
random() 方法可以随机返回一个小数,其取值范围是 [0,1),区间的表示方法是左闭右开,即等同于 0 <= x < 1
我们平时使用random() 方法最多的是得到一个两数之间的随机整数,并且包括这两个数在内:
Math.floor(Math.random() * (max - min + 1)) + min; // 表示两数之间的随机整数
// 要求:得到一个1-10之间的随机整数
// 为了可以重复使用,此处封装一个函数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(1,10));
console.log(getRandom(20,50)); // 得到一个20-50之间的随机整数
3. 案例--猜数字游戏
要求:程序随机生成一个1~10之间的数字,并让用户输入一个数字。 ①如果大于该数字,就提示数字大了,继续猜;②如果小于该数字,就提示数字小了,继续猜;③如果等于该数字,就提示猜对了,结束程序
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var num = getRandom(1, 10); // 将随机获得的1-10里面的数字,赋值给变量num
do {
var inputNum = parseInt(prompt('请输入一个数字:'));
if (inputNum > num) {
alert('数字大了');
} else if (inputNum < num) {
alert('数字小了');
} else {
alert('你猜对了,真的是太棒了');
}
} while (inputNum != num) // 如果没有猜对,则会一直猜下去,直到猜对为止
以上就是Math对象常用的方法,需要和其他内置对象进行区别的是Math不是构造函数,不要使用new关键字,直接使用即可。还有就是对于随机数要明确[0,1),以及如何利用它获取两个整数之间的随机整数。