Math 是一个内置对象, 为数学常量和数学函数提供了属性和方法,而不是一个函数对象。

描述

与其它全局对象不同的是, Math 不是一个构造器.  Math 的所有属性和方法都是静态的. 你用到的常数pi可以用 Math.PI 表示,用 x 作参数 Math.sin(x)调用sin函数. JavaScript中的常数, 是以全精度的实数定义的.

属性

Math.E
欧拉常数,也是自然对数的底数, 约等于 2.718.
Math.LN2
2的自然对数, 约等于0.693.
Math.LN10
10的自然对数, 约等于 2.303.
Math.LOG2E
以2为底E的对数, 约等于 1.443.
Math.LOG10E
以10为底E的对数, 约等于 0.434.
Math.PI
圆周率,一个圆的周长和直径之比,约等于 3.14159.
Math.SQRT1_2
1/2的平方根, 约等于 0.707.
Math.SQRT2
2的平方根,约等于 1.414.
Properties inherited from Object:

方法

需要注意的是三角函数(sin()cos()tan(),asin()acos()atan()atan2())是以弧度返回值的。可以通过除法(Math.PI / 180)把弧度转换为角度,也可以通过其他方法来转换。

需要注意的是很多数学函数都有一个精度,并且精度在不同环境下也是不相同的。这就意味着不同的浏览器会给出不同的结果,甚至相同的 JS 引擎在不同的OS或者架构下也会给出不同的结果。

Math.abs(x)
返回x的绝对值.
Math.acos(x)
返回x的反余弦值.
Math.acosh(x)
返回x的反双曲余弦值.
Math.asin(x)
返回x的反正弦值.
Math.asinh(x)
返回x的反双曲正弦值.
Math.atan(x)
以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值.
Math.atanh(x)
返回 x 的反双曲正切值.
Math.atan2(x, y)
返回 y/x 的反正切值.
Math.cbrt(x)
返回x的立方根.
Math.ceil(x)
返回x向上取整后的值.
Math.clz32(x)
Returns the number of leading zeroes of a 32-bit integer.
Math.cos(x)
返回x的余弦值.
Math.cosh(x)
返回x的双曲余弦值.
Math.exp(x)
返回 Ex, 当x为参数,  E 是欧拉常数 (2.718...), 自然对数的底.
Math.expm1(x)
返回 exp(x)-1 的值.
Math.floor(x)
返回小于x的最大整数。
Math.fround(x)
Returns the nearest single precision float representation of a number.
Math.hypot([x[,y[,…]]])
Returns the square root of the sum of squares of its arguments.
Math.imul(x)
Returns the result of a 32-bit integer multiplication.
Math.log(x)
Returns the natural logarithm (loge, also ln) of a number.
Math.log1p(x)
Returns the natural logarithm of 1 + x (loge, also ln) of a number.
Math.log10(x)
Returns the base 10 logarithm of x.
Math.log2(x)
Returns the base 2 logarithm of x.
Math.max([x[,y[,…]]])
返回0个到多个数值中最大值.
Math.min([x[,y[,…]]])
返回0个到多个数值中最小值.
Math.pow(x,y)
返回x的y次幂.
Math.random()
返回0到1之间的伪随机数.
Math.round(x)
返回四舍五入后的整数.
Math.sign(x)
返回x的符号函数, 判定x是正数,负数还是0.
Math.sin(x)
返回正弦值.
Math.sinh(x)
返回x的双曲正弦值.
Math.sqrt(x)
返回x的平方根.
Math.tan(x)
返回x的正切值.
Math.tanh(x)
返回x的双曲正切值.
Math.toSource() 
返回字符串 "Math".
Math.trunc(x)
返回x的整数部分,去除小数.

规范

规范 状态 说明
ECMAScript 1st Edition. Standard 初始定义。在 JavaScript 1.1 中实现。
ECMAScript 5.1 (ECMA-262)
Math
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Math
Standard New methods log10(), log2(), log1p(), expm1(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), hypot(), trunc(), sign(), imul(), fround(), cbrt() and clz32() added.

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

参见

 

文档标签和贡献者

 此页面的贡献者: Ende93, lwxyfer, FredWe, yenshen, baiya, AlexChao, teoli, ziyunfei
 最后编辑者: Ende93,