1、普通扩展javascript
2、Math对象的扩展java
ES6 在 Math 对象上新增了 17 个与数学相关的方法。全部这些方法都是静态方法,只能在 Math 对象上调用。函数
Math.trunc(4.1) // 4 Math.trunc(4.9) // 4 Math.trunc(-4.1) // -4 // 对于非数值,Math.trunc 内部使用 Number 方法将其先转为数值 Math.trunc('123.456') // 123 Math.trunc(true) // 1 Math.trunc(false) // 0 // 对于空值和没法截取整数的值,返回 NaN Math.trunc(NaN) // NaN Math.trunc('fo') // NaN Math.trunc(); // NaN
/** * 它会返回五种值: * - 参数为正数,返回 +1; * - 参数为负数,返回 -1; * - 参数为 0,返回 0; * - 参数为 -0,返回 -0; * - 其余值,返回 NaN。 */ Math.sign(-5) // -1 Math.sign(5) // +1 Math.sign(0) // +0 Math.sign(-0) // -0 Math.sign(Nan) // NaN // 若是参数是非数值,会自动转为数值。对于那些没法转为数值的值,会返回 NaN Math.sign('') // 0 Math.sign(true) // +1 Math.sign(undefined) // NaN
Math.cbrt(-1) // -1 Math.cbrt(0) // 0 Math.cbrt(1) // 1 Math.cbrt(8) // 2 // 对于非数值,Math.cbrt 方法内部也是先使用 Number 方法将其转为数值 Math.cbrt('8') // 2 Math.cbrt('hello') // NaN
Math.hypot(3,4) // 5 Math.hypot(1,2,3) // 3.741657386773941 Math.hypot(0) // 0 Math.hypot(-3) // 3 Math.hypot(NaN) // NaN // 若是参数不是数值,Math.hypot 方法会将其转为数值。只要有一个参数没法转为数值,就返回 NaN
3、其它code
一、ES6 新增的对数相关方法对象
1.1 Math.expml() : Math.expml(x) 返回 e^x - 1 ,即 Math.exp(x) - 1ip
1.2 Math.log1p() : Math.log1p(x) 方法返回 1+x 的天然对数,即 Math.log(1+x)。若是 x 小于 -1,返回 NaN字符串
1.3 Math.log10() : Math.log10(x) 方法返回以 10 为底的 x 的对数。若是 x 小于 0,则返回 NaN数学
1.4 Math.log2() : Math.log2(x) 方法返回以 2 为底的 x 的对数。若是 x 小于 0,则返回 NaNit
二、双曲函数方法class
Math.sinh(x)、Math.cosh(x)、Math.tanh(x)、Math.asinh(x)、Math.acosh(x)、Math.atanh(x)
三、指数运算符
ES2016 新增了一个指数运算符 (**)
2 ** 2 // 4 2 ** 3 // 8