Math是JavaScript中的一个内置对象, 为我们提供了一些数学常量、数学函数。Math是一个静态类,可以通过它属性和方法直接调用其提供的数学常量、数学函数。
Math对象介绍Math对象中的属性Math对象中的方法- 3.1
Math.abs(x)-绝对值 - 3.2
Math.acos(x)-反余弦值 - 3.3
Math.acosh(x)-反双曲余弦值 - 3.4
Math.asin(x)-反正弦值 - 3.5
Math.asinh(x)-反双曲正弦值 - 3.6
Math.atan(x)-反正切值 - 3.7
Math.atanh(x)-反双曲正切值 - 3.8
Math.atan2(x, y)-y/x反正切值 - 3.9
Math.cbrt(x)-立方根 - 3.10
Math.ceil(x)-向上取整 - 3.11
Math.clz32(x)-32位前导0整数 - 3.12
Math.cos(x)-余弦值 - 3.13
Math.cosh(x)-双曲余弦值 - 3.14
Math.exp(x)-Ex - 3.15
Math.expm1(x)-Ex-1 - 3.16
Math.floor(x)-最大整数 - 3.17
Math.hypot([x[,y[,…]]])-平方根和 - 3.18
Math.imul(x, y)-乘 - 3.19
Math.log(x)-对数 - 3.20
Math.log1p(x)-x+1对数 - 3.21
Math.log10(x)-以10为底x对数 - 3.22
Math.log2(x)-以2为底x对数 - 3.23
Math.max([x[, y[, …]]])-最大值 - 3.24
Math.mix([x[, y[, …]]])-最小值 - 3.25
Math.pow(x, y)-幂 - 3.26
Math.random()-随机数 - 3.27
Math.round(x)-四舍五入 - 3.28
Math.sign(x)-正负判断 - 3.29
Math.sin(x)-正弦 - 3.30
Math.sinh(x)-双曲正弦 - 3.31
Math.sqrt(x)-平方根 - 3.32
Math.tan(x)-正切 - 3.33
Math.tanh(x)-双曲正切 - 3.34
Math.trunc(x)-取整
- 3.1
1. Math对象介绍
Math是一个JavaScript内置对象,同时也是一个全局对象。与其它全局对象不同是,Math并不是一个构造函数,Math所有的属性和方法都是静态的,也就是说属性和方法直接调用。同样,Math也是通过属性和方法直接调用其提供的数学常量、数学函数,如:可通过Math.PI属性来访问常量π。
2. Math对象中的属性
2.1 Math.E-欧拉常数
欧拉常数,也是自然对数的底数,其值约等于2.718
Math.E; // 2.718281828459045
2.2 Math.LN2-2的自然对数
2的自然对数,约等于0.693
Math.LN2; // 0.6931471805599453
注:以常数e为底数的对数叫做自然对数,记作lnN(N>0)
2.3 Math.LN10-10的自然对数
10的自然对数,约等于2.303
Math.LN10; // 2.302585092994046
2.4 Math.LOG2E-以2为底E对数
以2为底E对数,约等于1.443
Math.LOG2E; // 1.4426950408889634
注:对数-log(即:logarithms)。如果ab=n,那么logan=b。其中,a叫做底数,n叫做真数,b叫做以a为底的n的对数。f(x)=logax函数叫做对数函数。对数函数中x的定义域是x>0,零和负数没有对数;a的定义域是a>0且a≠1。
2.5 Math.LOG10E-以10为底E对数
以10为底E对数,约等于0.434
Math.LOG10E; // 0.4342944819032518
2.6 Math.PI-圆周率
圆周率π值,约等于 3.14159
Math.PI; // 3.141592653589793
2.7 Math.SQRT1_2-1/2的平方根
1/2的平方根(√ ̄1/2),约等于0.707
Math.SQRT1_2; // 0.7071067811865476
注:平方根(Square root),又叫二次方根,表示为±√ ̄。如果一个非负数x的平方等于a,即 x2=a,(x>=0) ,那么这个非负数x叫做a的算术平方根。a的算术平方根记为√a,读作根号a,a叫做被开方数(radicand)。求一个非负数a的平方根的运算叫做开平方。结论:被开方数越大,对应的算术平方根也越大(对所有正数都成立)。
2.8 Math.SQRT2-2的平方根
2的平方根(√2),约等于1.414
Math.SQRT2; // 1.4142135623730951
3. Math对象中的方法
在Math对象提供的三角函数(sin()、cos()、tan()、asin()、acos()、atan()、atan2())中,是以弧度返回值的。可以通过除法(Math.PI / 180)把弧度转换为角度,也可以通过其他方法来转换。
另外,很多数学函数都有一个精度,且精度在不同环境下也是不相同的。这就意味着在不同的浏览器中会得出不同的结果,甚至相同的JS引擎在不同的操作系统或者架构下也会给出不同的结果。
3.1 Math.abs(x)-绝对值
计算x的绝对值。
Math.abs(2); // 2 Math.abs(-2); // 2
注:一个数在坐标轴上所对应点到原点的距离叫做这个数的绝对值(absolute value)。绝对值用| |来表示,如:|b-a|或|a-b|表示坐标轴上点a和点a的距离。
3.2 Math.acos(x)-反余弦值
计算x的反余弦值。
Math.acos(0.3); // 1.266103672779499
注:反余弦(arccosine,arccos,cos-1)是反三角函数之一。x=cos y在[0,π]上的反函数,叫做反余弦函数。记作arccosx,表示一个余弦值为x的角,该角的范围在[0,π]区间内。定义域[-1,1] ,值域[0,π]。
反三角函数是一种基本初等函数。它并不能狭义的理解为三角函数的反函数,是个多值函数。它是反正弦arcsin x,反余弦arccos x,反正切arctan x,反余切arccot x,反正割arcsec x,反余割arccsc x这些函数的统称,各自表示其反正弦、反余弦、反正切、反余切 ,反正割,反余割为x的角。
3.3 Math.acosh(x)-反双曲余弦值
计算x的反双曲余弦值。
Math.acosh(3); // 1.762747174039086
注:反双曲余弦函数(inverse hyperbolic function)记作y=arcoshx。反双曲余弦函数的定义域为[1, ∞],它是非奇非偶函数,在区间[1, ∞]内单调增加。
双曲函数(Hyperbolic function),在数学中,双曲函数类似于常见的(也叫圆函数的)三角函数。基本双曲函数是双曲正弦sinh,双曲余弦cosh,从它们导出双曲正切tanh等。也类似于三角函数的推导,反函数是反双曲正弦arsinh(也arcsinh或asinh)依此类推。
反双曲函数是双曲函数的反函数,记为(arsinh、arcosh、artanh等)。与反三角函数不同之处是它的前缀是ar意即area(面积),而不是arc(弧)。因为双曲角是以双曲线、通过原点直线以及其对x轴的映射三者之间所夹面积定义的,而圆角是以弧长与半径的比值定义。
3.4 Math.asin(x)-反正弦值
计算x的反正弦值。
Math.asin(0.3); // 0.30469265401539747
注:反正弦函数(arcsine)是反三角函数之一。表示一个正弦值为x的角,记作y=arcsinx或siny=x,x∈[-1,1]、y∈[-π/2,π/2]。定义域为[-1,1],值域[-π/2,π/2]。
3.5 Math.asinh(x)-反双曲正弦值
计算x的反双曲正弦值。
Math.asinh(3); // 1.8184464592320668 Math.asinh(-3); // -1.8184464592320668
注:反双曲正弦函数是反双曲函数之一。记作y=arsinhx定义为y=sinhx=(ex-e-x)/2。定义域为[-∞,+∞],它是奇函数,在[-∞,+∞]范围内单调增加。
3.6 Math.atan(x)-反正切值
计算x的反正切值。
Math.atan(3); // 1.2490457723982544 Math.atan(-3); // -1.2490457723982544
注:反正切函数arctan反三角函数之一。是y=tanx,(x∈R的反函数,记作y=arctanx。定义域为R,值域(-π/2,π/2),它是奇函数,在[-∞,+∞]范围内单调增加。
3.7 Math.atanh(x)-反双曲正切值
计算x的反双曲正切值。
Math.atanh(0.3); // 0.3095196042031118 Math.atanh(-0.3); // -0.30951960420311175
注:反双曲正切函数是反双曲函数之一。记作y=artanhx,其定义为y=artanhx=1/2ln((1+x)/(1-x))。定义域为(-1, 1),它是奇函数,在(-1, 1)范围内单调增加。
3.8 Math.atan2(x, y)-y/x反正切值
计算y/x的反正切值。
Math.atan(3, 2); // 1.2490457723982544
3.9 Math.cbrt(x)-立方根
计算x的立方根。
Math.cbrt(3); // 1.4422495703074083
注:平方根(cube root),又叫二次方根,表示为±3√ ̄。如果一个非负数x的言方等于a,即 x3=a,(x>=0) ,那么这个非负数x叫做a的算术立方根。a的算术平方根记为3√a。
3.10 Math.ceil(x)-向上取整
计算x向上取整后的值。
Math.ceil(3.4); // 4
3.11 Math.clz32(x)-32位前导0整数
返回x32位前导0整数。
Math.clz32(3); // 30 Math.clz32(-3); // 0
3.12 Math.cos(x)-余弦值
计算x的余弦值。
Math.cos(0.3); // 0.955336489125606
注:余弦(cosine),三角函数的一种。在Rt△ABC(直角三角形)中,∠C=90°,角A的余弦是它的邻边比三角形的斜边,即cosA=b/c,也可写为cosA=AC/AB。余弦函数:f(x)=cosx(x∈R)。定义域为R,值域[-1,1]。余弦是周期函数,其最小正周期为2π。在自变量为2kπ(k为整数)时,该函数有极大值1;在自变量为(2k+1)π时,该函数有极小值-1
三角函数是以角度(数学上最常用弧度制,下同)为自变量,角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数。也可以等价地用与单位圆有关的各种线段的长度来定义。包括sin正弦、cos余弦、tan正切、cot余切、sec正割、csc余割,6种三角函数。
3.13 Math.cosh(x)-双曲余弦值
计算x的双曲余弦值。
Math.cosh(0); // 1
注:双曲余弦(hyperbolic cosine),双曲函数的一种。一般的定义是在双曲线x2-y2=1 (该双曲线又叫做单位双曲线)中,射线出原点交单位双曲线于点(cosha,sinha)。这里的a是射线、双曲线与x轴围成的面积的两倍。对于双曲线上位于x轴下方的点,这个面积被认为是负值。
而其中,cosha就是a的双曲余弦函数,其定义为coshx=(ex+e-x)/2。定义域为(-∞,+∞),值域[1, +∞]。当x=0时,取到最小值1
3.14 Math.exp(x)-Ex
计算Ex,这里x为参数, E是欧拉常数(2.718...),即:自然对数的底。
Math.exp(3); // 20.085536923187668
3.15 Math.expm1(x)-Ex-1
计算Ex-1。
Math.expm1(3); // 19.085536923187668
3.16 Math.floor(x)-最大整数
返回小于x的最大整数。
Math.floor(3.3); // 3
3.17 Math.hypot([x[,y[,…]]])-平方根和
返回参数中所有数的平方根之和。
Math.hypot(1, 2); // 2.23606797749979
3.18 Math.imul(x, y)-乘
返回一个32位整数乘法的结果。
Math.imul(3, 2); // 6
3.19 Math.log(x)-对数
计算E为底x(loge)的对数
Math.log(3); // 1.0986122886681098
对数(logarithm)如果a的x次方等于N(a>0,且a不等于1),即ax=N,那么x叫做以a为底N的对数,记作x=logaNx=logaN。其中,a叫做对数的底数,N叫做真数。
3.20 Math.log1p(x)-x+1对数
计算x+1(loge)的对数
Math.log1p(2); // 1.0986122886681098
3.21 Math.log10(x)-以10为底x对数
计算以10为底x的对数
Math.log10(3); // 0.47712125471966244
3.22 Math.log2(x)-以2为底x对数
计算以2为底x的对数
Math.log2(4); // 2
3.23 Math.max([x[, y[, …]]])-最大值
返回参数中的最大值
Math.max(1,2,3); // 3
3.24 Math.mix([x[, y[, …]]])-最小值
返回参数中的最小值
Math.mix(1,2,3); // 1
3.25 Math.pow(x, y)-幂值
计算x的y次幂,即:xy
Math.pow(2,3); // 8
3.26 Math.random()-随机数
返回0〜1之间的一个随机数
Math.random(); // 0.9357421763706952
3.27 Math.round(x)-四舍五入
返回x四舍五入后的整数
Math.round(3.5); // 4
3.28 Math.sign(x)-正负判断
返回x的数据类型,返回值为-1/1或0
Math.sign(3); // 1 Math.sign(-3); // -1 Math.sign(0); // 0
3.29 Math.sin(x)-正弦
计算x的正弦值
Math.sin(0.3); // 0.29552020666133955
正弦(sine)是三角函数的一种。在直角三角形中,任意一锐角∠A的对边与斜边的比叫做∠A的正弦,记作sinA,即sinA=∠A的对边/斜边。定义域为R,值域[-1,1]。
3.30 Math.sinh(x)-双曲正弦
计算x的双曲正弦值
Math.sinh(3); // 10.017874927409903
双曲正弦函数(hyperbolic sine)是双曲函数的一种。记作sinh,定义为sinh=(ex-e-x)/2。定义域为(-∞,+∞),值域为(-∞,+∞)。
3.31 Math.sqrt(x)-平方根
计算x的平方根
Math.sqrt(4); // 2
3.32 Math.tan(x)-正切
计算x的正切值
Math.tan(0.3); // 0.30933624960962325
正切(tangent)是三角函数的一种。在直角三角形Rt△ABC中,∠C=90°,AB是∠C的对边c,BC是∠A的对边a,AC是∠B的对边b,正切函数就是tanA=a/b,即tanA=BC/AC。定义域为{x|x≠(π/2)+kπ,k∈Z},值域R。
3.33 Math.tanh(x)-双曲正切
计算x的双曲正切值
Math.tan(3); // 0.9950547536867306
双曲正切函数(hyperbolic tangent)是双曲函数的一种。记作tanh(也可以简写为th),定义为tanh=sinh/cosh。定义域为(-∞,+∞),值域为(-1,1)。
3.34 Math.trunc(x)-取整
返回x的整数部分
Math.trunc(3.32423); // 3
