es6數值的擴充套件

2021-09-29 02:49:55 字數 1804 閱讀 2106

1、二進位制和八進位制的表示方法

es6提供了二進位制和八進位制的表示方法,分別用字首ob(二進位制)和0o(八進位制)表示

將二進位制或者八進位制轉換為十進位制可以呼叫number方法

2、number.isnan() 和number.isfinite()

前者用來判斷乙個數字是否為nan,後者用來判斷乙個數字是否有限

3、parseint()和parsefloat()

es6將全域性的parseint()和parsefloat()移植到了number物件上,行為完全保持不變。

// es5的寫法

parseint('12.34') // 12

parsefloat('123.45#') // 123.45

// es6的寫法

number.parseint('12.34') // 12

number.parsefloat('123.45#') // 123.45

這樣做的目的,是逐步減少全域性性方法,使得語言逐步模組化。

4、number.isinteger()

number.isinteger()方法用來判斷乙個數字是否為整數。

js的內部整數和浮點數採用的同樣的儲存方法,所以1.0和1視為乙個值。

如果傳入的引數不是乙個數字會返回false

js內部採取ieee 754標準,數值儲存為64位雙精度格式,數值精度為53個二進位制位 (即2的53次方)小數點後15位有效,如果數值超過這個長度,54位以後的會被丟棄,這時isinteger()可能會誤判

如果乙個數值的絕對值小於5e-324(js可以識別的最小值)會被自動的轉為0,isinteger()可能會誤判。

5、math.trunc()

去除乙個數的小數部分,直接去掉 不考慮向上取整和向下取整

math.trunc(4.1)		 // 4

math.trunc(-4.1) // -4

math.trunc(-0.1234) // -0

對於非數值的情況,會內部呼叫number方法將其轉為數值

math.trunc('123.456') // 123

math.trunc(true) //1

math.trunc(false) // 0

math.trunc(null) // 0

6、math.sign()

用來判讀乙個數是正數還是負數、還是0,對於非數值的引數會呼叫number方法轉為數值,他會返回五個值分別為:

引數為正數,返回+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

math.sign('')  // 0

math.sign(true) // +1

math.sign(false) // 0

math.sign(null) // 0

math.sign('9') // +1

math.sign('foo') // nan

math.sign() // nan

math.sign(undefined) // nan

ES6 數值擴充套件

1.二進位制表示法 以0b開頭console.log b 0b111110111 4942.八進位制表示法 以0o開頭console.log 0o767 5033.判斷乙個數是否有盡 或者判斷是否為字元console.log 15 number.isfinite 15 isfinite 判斷數值是否...

es6 數值的擴充套件

1 二進位制的表示 字首 0b 八進位制的表示 0o 2 number.isfinite number.isnan 3 number.parseint number.parsefloat 4 number.isinteger number.epsilon 5 number.issafeinteger...

ES6 數值的擴充套件

es6提供了二進位制和八進位制數值的新寫法,分別用字首0b 0b 和0c oc 表示。用字首0b 0b 和0c oc 的字串轉十進位制數值需使用number方法。es6將parseint方法和parsefloat方法移植到了number物件上 js能準確表示的整數範圍在 number.max saf...