ES6學習之數值擴充套件

2022-09-15 17:12:14 字數 4814 閱讀 6722

二進位制和八進位制表示法二進位製用字首0b(或0b)表示,八進位製用字首0o(或0o)表示)

number('0b111')  //

7number('0o10') //

8

number.isfinite()(判斷乙個值是否有限)

number.isfinite(5) //

true

number.isfinite("a") //

false

number.isfinite(infinity) //

false

number.isfinite(true) //

false

number.isnan()(判斷乙個值是否是nan)

number.isnan(nan) //

true

number.isnan(15) //

false

number.isnan('15') //

false

number.isnan(true) //

false

number.isnan(9/nan) // true

number.isnan('true'/0) // true

number.isnan('true'/'true') // true

number.isinteger()(判斷乙個值是否為整數。在 j**ascript 內部,整數和浮點數是同樣的儲存方法,所以3和3.0被視為同乙個值)

number.isinteger(25) //

true

number.isinteger(25.0) //

true

number.isinteger(25.1) //

false

number.isinteger("15") //

false

number.isinteger(true) //

false

number.epsilon(表示1與大於1的最小浮點數之間的差。對於64位浮點數來說,它等於2的-52次方)

number.epsilon可以用來設定「能夠接受的誤差範圍」

number.epsilon * math.pow(2, 2)  //

誤差範圍設為2的-50次方

安全整數和 number.issafeinteger()

number.max_safe_integernumber.min_safe_integer這兩個常量,用來表示這個範圍的上下限

number.max_safe_integer === math.pow(2, 53) - 1number.min_safe_integer === -number.max_safe_integer

number.issafeinteger(number.min_safe_integer) //

true

number.issafeinteger(number.max_safe_integer) //

true

number.issafeinteger('a') //

false

number.issafeinteger(null) //

false

number.issafeinteger(nan) //

false

number.issafeinteger(infinity) //

false

number.issafeinteger(-infinity) //

false

number.issafeinteger(3) //

true

math物件的擴充套件

math.trunc(4.1) //

4math.trunc('123.456') //

123math.trunc(true) //

1math.trunc(null) //

0math.trunc(nan); //

nanmath.trunc('foo'); //

nan

math.sign(-5) //

-1math.sign(5) //

+1math.sign(0) //

+0math.sign(-0) //

-0math.sign(nan) //

nan

math.cbrt(-1) //

-1math.cbrt(0) //

0math.cbrt(1) //

1math.cbrt(2) //

1.2599210498948734

math.clz32(0) //

32

math.imul(2, 4)   //

8math.imul(-1, 8) //

-8math.imul(-2, -2) //

4

math.fround(0)     //

0math.fround(1) //

1math.fround(1.337) //

1.3370000123977661

math.fround(1.5) //

1.5math.fround(nan) //

nan

math.hypot(3, 4);        //

5math.hypot(3, 4, 5); //

7.0710678118654755

math.hypot(); //

0

對數方法

math.expm1(0)  //

0math.expm1(1) //

1.718281828459045

math.log1p(1)  //

0.6931471805599453

math.log1p(0) //

0math.log1p(-1) //

-infinity

math.log1p(-2) //

nan

math.log10(2)      //

0.3010299956639812

math.log10(1) //

0math.log10(0) //

-infinity

math.log10(-2) //

nanmath.log10(100000) //

5

math.log2(2)       //

1math.log2(1) //

0math.log2(0) //

-infinity

math.log2(-2) //

nanmath.log2(1024) //

10math.log2(1 << 29) //

29

math.signbit()math.signbit()方法判斷乙個數的符號位是否設定了)

//

math.sign()用來判斷乙個值的正負,但是如果引數是-0,它會返回-0

//實際程式設計中,判斷乙個值是+0還是-0非常麻煩,因為它們是相等的。

math.signbit(2) //

false

math.signbit(-2) //

true

math.signbit(0) //

false

math.signbit(-0) //

true

指數運算子(**)

2 ** 2 //

42 ** 3 //

8let a = 1.5;

a **= 2;

//等同於 a = a * a;

integer 資料型別(整數型別的資料只用來表示整數,沒有位數的限制,任何位數的整數都可以精確表示。integer 型別的資料必須使用字尾n表示。)

0b1101n //

二進位制0o777n //

八進位制0xffn //

十六進製制

integer(123) //

123n j**ascript 原生提供integer物件,用來生成 integer 型別的數值。

1n + 2n //

3n integer 型別的+、-、*和**這四個二元運算子,與 number 型別的行為一致。除法運算/會捨去小數部分,返回乙個整數

9n / 5n //

1n1n + 1 //

error integer 型別不能與 number 型別進行混合運算

0n == 0 //

error 相等運算子(==)會改變資料型別,也是不允許混合使用。

0n === 0 //

false 精確相等運算子(===)不會改變資料型別,因此可以混合使用。

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為數值增加了些常量和方法,使計算更為簡便安全。本篇概括了這中的精華知識。js採用ieee 754標準的64位雙精度格式儲存數值。數值的精度最多可達到53個二進位制位 1個隱藏位和52個有效位 如果數值的精度超過此限度,第54位及後面的會被丟棄。數值的極值分為兩種 可表示的極值和可精確計算的極值...