JavaScript Math 对象
Math 是 JavaScript 的一个内置的、静态的对象,它为数学常量和数学函数提供了属性和方法。
Math 是一个 Object 对象实例,所以它没有 prototype 属性。
var math = new Math(); // 报错,TypeError: Math is not a constructor(…)
Math.prototype; // undefined
Math.__proto__; // Object {}
Math.__proto__ === Object.prototype; // true
一个对象的 __proto__ 属性指向构造该对象的构造函数的原型
属性
Math.E; // 欧拉常数,也是自然对数的底数,值约为 2.718...
Math.PI; // 圆周率,3.1415926....
这里只提这两个属性。
方法
-
常用
Math.abs(num):返回 num 的绝对值
Math.pow(base, exponent):返回基数(base)的指数(exponent)次幂,即 baseexponent
Math.sqrt(x):返回一个数的平方根
Math.abs(-11); // 11
Math.pow(5,2); // 25
Math.sqrt(16); // 4
-
找最值
Math.max(num1,num2,...):返回一组数中的最大值
Math.min(num1,num2,...):返回一组数中的最小值
不要向上面的2个函数直接传入数字数组。
var numArray = [1,2,33,-11,33];
Math.max(numArray); // NaN
Math.min(numArray); // NaN
不过,我们可以这样玩:使用函数的 apply() 方法
var numArray = [1,2,33,-11,33];
Math.max.apply(Math,numArray); // 33
Math.min.apply(Math,numArray); // -11
如果你不清楚上面的实现原理,可以参看 这个链接(推荐去看看)
-
舍入方法
Math.ceil(num):将 num 向上舍入为最接近的整数
Math.floor(num):将 num 向下舍入为最接近的整数
Math.round(num):执行标准舍入,即四舍五入
var num = 5.21;
Math.ceil(num); // 6
Math.floor(num); // 5
Math.round(num); // 5
-
生成随机数
Math.random():返回一个大于等于 0 小于 1 的随机数。
// 返回一个介于min和max之间的整型随机数 [min,max]
// Using Math.round() will give you a non-uniform distribution(不均匀分布)!
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
-
其他
Math.sin()
Math.cos()
Math.tan()
Math.log()
......
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。