二進位制和八進位制表示法(二進位製用字首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_integer
和number.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位及後面的會被丟棄。數值的極值分為兩種 可表示的極值和可精確計算的極值...