整理的都是我觉得比较常用的
Math 是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。与其它全局对象不同的是, Math 不是一个构造器. Math 的所有属性和方法都是静态的.
Math的属性
Math.PI
圆周率,一个圆的周长和直径之比,约等于 3.14159.
需要注意的是很多数学函数都有一个精度,并且精度在不同环境下也是不相同的。这就意味着不同的浏览器会给出不同的结果,甚至相同的 JS 引擎在不同的OS或者架构下也会给出不同的结果。
Math的方法
Math.abs(x)
返回x的绝对值.Math.abs('-1'); // 1 Math.abs(-2); // 2 Math.abs(null); // 0 Math.abs("string"); // NaN Math.abs(); // NaN
Math.ceil(x)
返回x向上取整后的值.Math.ceil(.95); // 1 Math.ceil(4); // 4 Math.ceil(7.004); // 8 Math.ceil(-0.95); // -0 Math.ceil(-4); // -4 Math.ceil(-7.004); // -7
Math.floor(x)
返回小于x的最大整数。Math.floor( 45.95); // 45 Math.floor( 45.05); // 45 Math.floor( 4 ); // 4 Math.floor(-45.05); // -46 Math.floor(-45.95); // -46
Math.max([x[,y[,…]]])
返回0个到多个数值中最大值.(返回给定的一组数字中的最大值。如果有任一参数不能被转换为数值,则结果为 NaN。)
Math.max(10, 20); // 20 Math.max(-10, -20); // -10 Math.max(-10, 20); // 20
下面的方法使用 apply 方法寻找一个数值数组中的最大元素。
function Max(numArray) { return Math.max.apply(null, numArray); }或者通过使用最新的扩展语句,获得数组中的最大值变得更容易。
var arr = [1, 2, 3];
var max = Math.max(...arr);
看下面的例子
function max(numArray){ return Math.max.apply(null,numArray); } var arr = [1,2,3]; console.log(max(arr));//3 console.log(Math.max(...arr));//3
Math.min([x[,y[,…]]])
返回0个到多个数值中最小值.(用法和Math.max()类似,所以就不啰嗦了)
Math.pow(x,y)
返回x的y次幂.
function pow(x,y) { return Math.pow(x,y) }
看个小例子:
function pow(x,y){ return Math.pow(x,y); } console.log(pow(2,3));//8
Math.random()
返回0到1之间的伪随机数.
Math.random() 函数返回一个浮点, 伪随机数在范围[0,1),也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。他不能被用户选择或重置。
得到一个大于等于0,小于1之间的随机数
function getRandom() { return Math.random(); }得到一个两数之间的随机数
这个例子返回了一个在指定值之间的随机数。这个值不小于min(如果min不是整数的话,得到一个向上取整的 min),并且小于(但不等于)max
function getRandomArbitrary(min, max) { return Math.random() * (max - min) + min; }得到一个两数之间的随机整数
这个例子返回了一个在指定值之间的随机整数。这个值比min大(如果min不是整数,可能相等)
function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min)) + min; }
得到一个两数之间的随机整数,包括两个数在内
function random(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; }
Math.round(x)
返回四舍五入后的整数.
注意:如果参数的小数部分恰好等于0.5,则舍入到下一个正无穷方向的整数。
console.log(Math.round(0.5));//1 console.log(Math.round(12.5));//13 console.log(Math.round(-12.5));//-12 console.log(Math.round(-0.5));//0需要注意的是三角函数(sin(), cos(), tan(),asin(), acos(), atan(), atan2())是以弧度返回值的。可以通过除法(Math.PI / 180)把弧度转换为角度,也可以通过其他方法来转换。
Math.sin(x)
sin 方法返回一个 -1 到 1 之间的数值,表示给定角度(单位:弧度)的正弦值。
Math.sin(0); // 0 Math.sin(1); // 0.8414709848078965 Math.sin(Math.PI / 2); // 1
Math.asin(x)
asin 方法接受 -1 到 1 之间的数值作为参数,返回一个介于 - π2 到 π2 弧度的数值。如果接受的参数值超出范围,则返回 NaN。
Math.asin(-2); // NaN Math.asin(-1); // -1.5707963267948966 (-pi/2) Math.asin(0); // 0 Math.asin(0.5); // 0.5235987755982989 Math.asin(1); // 1.570796326794897 (pi/2) Math.asin(2); // NaN
Math.cos(x)
cos 方法返回一个 -1 到 1 之间的数值,表示角度(单位:弧度)的余弦值。
Math.cos(0); // 1 Math.cos(1); // 0.5403023058681398 Math.cos(Math.PI); // -1 Math.cos(2 * Math.PI); // 1
Math.acos(x)
acos 方法以 -1 到 1 的一个数为参数,返回一个 0 到 pi (弧度)的数值。如果传入的参数值超出了限定的范围,将返回 NaN。
Math.acos(-2); // NaN Math.acos(-1); // 3.141592653589793 Math.acos(0); // 1.5707963267948966 Math.acos(0.5); // 1.0471975511965979 Math.acos(1); // 0 Math.acos(2); // NaN
Math.tan(x)
tan 方法返回一个数值,表示一个角的正切值。
function tan(deg) { var rad = deg * Math.PI/180; return Math.tan(rad); }看个小例子
function tan(deg) { var rad = deg * Math.PI/180; return Math.tan(rad); } console.log(tan(30));//0.5773502691896257
Math.atan2(y, x)
atan 返回一个 - π2 到 π2 弧度之间的数值。Math.atan(1); // 0.7853981633974483 Math.atan(0); // 0
返回 y/x 的反正切值.
参考文章:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math