一、ecmascript-es6數值的擴充套件
1. 二進位制0b 八進位制0o
// es5中將十進位制數 --> 二進位制數
const a =
5// 101
console.
log(a.
tostring(2
))// 101
// es5中將二進位制數 --> 十進位制數
const b =
101console.
log(
parseint
(b,2))
// 5
// es6 0b表示二進位制 0o表示八進位制
const a =
0b0101
console.
log(a)
// 5
const b =
0o123
console.
log(b)
// 83
2. number.isfinite(),number.isnan()// number.isfinite() 是否有限, 非數值都是false
console.
log(number.
isfinite(5
))// true
console.
log(number.
isfinite(5
/0))
// false
// number.isnan() 不是乙個數
console.
log(number.
isnan
(nan))
// true
3. number.parseint(),number.parsefloat()console.
log(number.
parseint
(5.5))
// 5
console.
log(number.
parsefloat
(5.5))
// 5.5
console.
log(window.
parseint
(5.5))
// 5 es5 window下的parseint
console.
log(window.
parsefloat
(5.5))
// 5.5
4. number.isinteger()// 是不是乙個整數
console.
log(number.
isinteger
(5.5))
// false
5. 0.1 + 0.2 === 0.3 ???// 精度缺失
// ieee 754 雙精度標準去儲存
// 35 -> 00100011
// 0.375 -> 0.011
console.
log(
0.1000000000000001
)console.
log(
0.10000000000000001
)// 0.1
// 最大值
const max = math.
pow(2,
53)console.
log(max)
// 9007199254740992
console.
log(max +1)
// 9007199254740992
// 最小值
const min = math.
pow(-2
,53)console.
log(min)
// -9007199254740992
console.
log(min -1)
// -9007199254740992
// 安全的數
console.
log(number.
max_safe_integer
)// 9007199254740991
console.
log(number.
min_safe_integer
)// -9007199254740991
6. math新增方法// 去除乙個數的小數部分
console.
log(math.
trunc
(2.34))
// 2
console.
log(math.
trunc(-
2.34))
// 2
console.
log(math.
trunc
(true))
// 1
console.
log(number.
parseint
(2.34))
// 2
console.
log(number.
parseint(-
2.34))
// 2
console.
log(number.
parseint
(true))
// nan
// 判斷引數是正數 負數 還是0
console.
log(math.
sign(5
))// 1
console.
log(math.
sign(-
5))// -1
console.
log(math.
sign(0
))// 0
console.
log(math.
sign
(nan))
// nan
// 計算乙個數的立方根
console.
log(math.
cbrt(5
))// 125
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位及後面的會被丟棄。數值的極值分為兩種 可表示的極值和可精確計算的極值...