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