003. es6數值的擴展

1、普通擴展javascript

  1.  Number 方法,將字符串、數值轉爲十進制 : Number('0b111')
  2.  Number.isFinite() 用來檢查一個數值是否爲有限的:Number.isFinite(15)
  3.  Number.isNan() 用來檢查一個值是否爲NaN
  4.  Number.parseInt() 
  5.  Number.parseFloadt()
  6.  Number.isInteger() 用來判斷一個數值是否爲整數
  7.  Number.EPSILON , ES6 新增的一個極小的常量,它表示 1與大於 1 的最小浮點數之間的差。Number.EPSILON 的實質是一個能夠接受的最小偏差範圍
  8.  Number.isSafeInteger() 。JavaScript 可以準確表示的整數範圍在 -2^53 到 2^53之間(不含兩個端點)。分別使用 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 表示。Number.isSafeInteger()則是用來判斷一個整數是否落在這個範圍以內。

2、Math對象的擴展java

    ES6 在 Math 對象上新增了 17 個與數學相關的方法。全部這些方法都是靜態方法,只能在 Math 對象上調用。函數

  •  Math.trunc() : Math.trunc 方法用於去除一個數的小數部分,返回整數部分。對於非數值, Math.trunc 內部先使用 Number 方法將其先轉爲數值,而後再去除小數部分。對於空值和沒法獲取整數的值,返回 NaN.
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
  • Math.sign() : 該方法用來判斷一個數究竟是正數、負數、仍是零。對於非數值,會先將其轉換爲數值
/**
 * 它會返回五種值:
 * 		- 參數爲正數,返回 +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() : 該方法用於計算一個數的立方根
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.clz32() : JavaScript 的整數使用 32 位二進制形式表示,Math.clz32 方法返回一個數的 32 位無符號整數形式有多少個前導0 。對於小數,該方法只考慮整數部分
  • Math.imul() : 該方法返回兩個數以 32 位帶符號整數形式相乘的結果,返回的也是一個 32 位的帶符號整數
  • Math.fround() : 該方法返回一個數的32位單精度浮點數形式
  • Math.hypot() : 該方法返回全部參數的平方和的平方根
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
相關文章
相關標籤/搜索