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),以及如何利用它获取两个整数之间的随机整数。