Math.trunc()
Math.trunc
方法用于去除一个数的小数部分,返回整数部分。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.trunc = Math.trunc || function(x) { return x < 0 ? Math.ceil(x) : Math.floor(x); };
Math.sign()
Math.sign
方法用来判断一个数到底是正数、负数、还是零。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.sign = Math.sign || function(x) { x = +x; // convert to a number if (x === 0 || isNaN(x)) { return x; } return x > 0 ? 1 : -1; };
Math.cbrt()
Math.cbrt
方法用于计算一个数的立方根。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.cbrt = Math.cbrt || function(x) { var y = Math.pow(Math.abs(x), 1/3); return x < 0 ? -y : y; };
Math.clz32()
JavaScript的整数使用32位二进制形式表示,Math.clz32
方法返回一个数的32位无符号整数形式有多少个前导0。
Math.imul()
Math.imul
方法返回两个数以32位带符号整数形式相乘的结果,返回的也是一个32位的带符号整数。
Math.fround() § ⇧
Math.fround方法返回一个数的单精度浮点数形式。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.fround = Math.fround || function(x) { return new Float32Array([x])[0]; };
Math.hypot()
Math.hypot
方法返回所有参数的平方和的平方根
对数方法
ES6新增了4个对数相关方法。
(1) Math.expm1()
Math.expm1(x)
返回ex - 1,即Math.exp(x) - 1
。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.expm1 = Math.expm1 || function(x) { return Math.exp(x) - 1; };
(2)Math.log1p()
Math.log1p(x)
方法返回1 + x
的自然对数,即Math.log(1 + x)
。如果x
小于-1,返回NaN
。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.log1p = Math.log1p || function(x) { return Math.log(1 + x); };
(3)Math.log10()
Math.log10(x)
返回以10为底的x
的对数。如果x
小于0,则返回NaN。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.log10 = Math.log10 || function(x) { return Math.log(x) / Math.LN10; };
(4)Math.log2()
Math.log2(x)
返回以2为底的x
的对数。如果x
小于0,则返回NaN。
对于没有部署这个方法的环境,可以用下面的代码模拟。
Math.log2 = Math.log2 || function(x) { return Math.log(x) / Math.LN2; };
三角函数方法
ES6新增了6个三角函数方法。
Math.sinh(x) 返回x的双曲正弦(hyperbolic sine) Math.cosh(x) 返回x的双曲余弦(hyperbolic cosine) Math.tanh(x) 返回x的双曲正切(hyperbolic tangent) Math.asinh(x) 返回x的反双曲正弦(inverse hyperbolic sine) Math.acosh(x) 返回x的反双曲余弦(inverse hyperbolic cosine) Math.atanh(x) 返回x的反双曲正切(inverse hyperbolic tangent)
Math.signbit()
Math.sign()
用来判断一个值的正负,但是如果参数是-0
,它会返回-0
。
ES2016 新增了一个指数运算符(**
)
指数运算符可以与等号结合,形成一个新的赋值运算符(**=
)。
let a = 2; a **= 2; // 等同于 a = a * a; let b = 3; b **= 3; // 等同于 b = b * b * b;
注:在vp8引擎中与Math.pow()结果有些不同。