国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6學習筆記-數(shù)值的擴展_V1.0_byKL

宋華 / 1798人閱讀

摘要:學習筆記數(shù)值的擴展有一些不常用或者還不支持的就沒有記錄了總體來說本篇只是一個備忘而已用來檢查一個數(shù)值是否為有限的。兩個新方法只對數(shù)值有效,非數(shù)值一律返回。參考引用數(shù)值擴展

es6學習筆記-數(shù)值的擴展

有一些不常用或者還不支持的就沒有記錄了,總體來說本篇只是一個備忘而已

Number.isFinite(), Number.isNaN()

Number.isFinite()用來檢查一個數(shù)值是否為有限的(finite)。

console.log(Number.isFinite(15)); // true
console.log(Number.isFinite(0.8)); // true
console.log(Number.isFinite(NaN)); // false
console.log(Number.isFinite(Infinity)); // false
console.log(Number.isFinite(-Infinity)); // false
console.log(Number.isFinite("foo")); // false,字符串也是false
console.log(Number.isFinite("15")); // false
console.log(Number.isFinite(true)); // false,布爾值也是false

Number.isNaN()用來檢查一個值是否為NaN。

console.log(Number.isNaN(NaN)) // true
console.log(Number.isNaN(15)) // false
console.log(Number.isNaN("15")) // false
console.log(Number.isNaN(true)) // false
console.log(Number.isNaN(9/NaN)) // true
console.log(Number.isNaN("true"/0)) // true
console.log(Number.isNaN("true"/"true")) // true

兩個新方法只對數(shù)值有效,非數(shù)值一律返回false。

parseInt()和parseFloat()

ES6將全局方法parseInt()和parseFloat(),移植到Number對象上面,行為完全保持不變。

// ES5的寫法
parseInt("12.34") // 12
parseFloat("123.45#") // 123.45

// ES6的寫法
Number.parseInt("12.34") // 12
Number.isInteger()

Number.isInteger()用來判斷一個值是否為整數(shù)。需要注意的是,在JavaScript內(nèi)部,整數(shù)和浮點數(shù)是同樣的儲存方法,所以3和3.0被視為同一個值。

console.log(Number.isInteger(25)) // true
console.log(Number.isInteger(25.0)) // true
console.log(Number.isInteger(25.1)) // false
console.log(Number.isInteger("15")) // false
console.log(Number.isInteger(true)) // false
Number.EPSILON

ES6在Number對象上面,新增一個極小的常量Number.EPSILON,為浮點數(shù)計算,設置一個誤差范圍。

如果這個誤差能夠小于Number.EPSILON,我們就可以認為得到了正確結果。

0.1 + 0.2
// 0.30000000000000004

0.1 + 0.2 - 0.3
// 5.551115123125783e-17

5.551115123125783e-17.toFixed(20)
// "0.00000000000000005551" //無限接近0

Number.EPSILON.toFixed(20)
// "0.00000000000000022204" //只要比這個數(shù)小,我們就當他是正確的


function withinErrorMargin (left, right) {
    return Math.abs(left - right) < Number.EPSILON;
}
console.log(withinErrorMargin(0.1 + 0.2, 0.3))
// true
console.log(withinErrorMargin(0.2 + 0.2, 0.3))
// false
安全整數(shù)和Number.isSafeInteger()

JavaScript能夠準確表示的整數(shù)范圍在-2^53到2^53之間(不含兩個端點),超過這個范圍,無法精確表示這個值。

console.log(Math.pow(2, 53)); // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER === Math.pow(2, 53) + 1)//false
console.log(Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1) //true,等于一個比最大范圍少于1的數(shù)

同理可鑒Number.MAX_SAFE_INTEGER

Number.isSafeInteger()則是用來判斷一個整數(shù)是否落在這個范圍之內(nèi)。

console.log(Number.isSafeInteger(Number.MIN_SAFE_INTEGER - 1)) // false
console.log(Number.isSafeInteger(Number.MIN_SAFE_INTEGER)) // true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER)) // true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)) // false
Math對象的擴展 Math.trunc

Math.trunc方法用于去除一個數(shù)的小數(shù)部分,返回整數(shù)部分

console.log(Math.trunc(4.1)) // 4
console.log(Math.trunc(4.9)) // 4
console.log(Math.trunc(-4.1)) // -4
console.log(Math.trunc(-4.9)) // -4
console.log(Math.trunc(-0.1234)) // -0
Math.sign()

Math.sign方法用來判斷一個數(shù)到底是正數(shù)、負數(shù)、還是零。

console.log(Math.sign(-5)) // -1
console.log(Math.sign(5)) // 1
console.log(Math.sign(0)) // 0
console.log(Math.sign(-0)) // -0
console.log(Math.sign(NaN)) // NaN
console.log(Math.sign("foo")); // NaN
console.log(Math.sign());      // NaN

參考引用:

es6數(shù)值擴展

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/82000.html

相關文章

  • es6學習筆記-函數(shù)擴展_v1.0_byKL

    摘要:學習筆記函數(shù)擴展函數(shù)參數(shù)的默認值如果參數(shù)默認值是變量,那么參數(shù)就不是傳值的,而是每次都重新計算默認值表達式的值。屬性函數(shù)的屬性,返回該函數(shù)的函數(shù)名。箭頭函數(shù)詳細鏈接參考引用函數(shù)擴展 es6學習筆記-函數(shù)擴展_v1.0 函數(shù)參數(shù)的默認值 function Point(x = 0, y = 0) { this.x = x; this.y = y; } var p = ne...

    yuanzhanghu 評論0 收藏0
  • es6學習筆記-let,const和塊級作用域_v1.0_byKL

    摘要:考慮到環(huán)境導致的行為差異太大,應該避免在塊級作用域內(nèi)聲明函數(shù)。函數(shù)聲明語句函數(shù)表達式循環(huán)循環(huán)還有一個特別之處,就是循環(huán)語句部分是一個父作用域,而循環(huán)體內(nèi)部是一個單獨的子作用域。聲明一個只讀的常量。 es6學習筆記-let,const和塊級作用域_v1.0 塊級作用域 javascript 原來是沒有塊級作用域的,只有全局作用域和函數(shù)作用域 例子1 因為沒有塊級作用域,所以每次的i都是一...

    Youngdze 評論0 收藏0
  • es6學習筆記-變量析構_v1.0_byKL

    摘要:學習筆記變量析構允許按照一定模式,從數(shù)組和對象中提取值,對變量進行賦值,這被稱為解構。有一個屬性用屬性來獲取字符串長度數(shù)值和布爾值的解構賦值解構賦值時,如果等號右邊是數(shù)值和布爾值,則會先轉(zhuǎn)為對象。 es6學習筆記-變量析構_v1.0 ES6 允許按照一定模式,從數(shù)組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring)。 如果解構失敗,變量的值等于undefine...

    Aldous 評論0 收藏0
  • es6學習筆記-字符串擴展_v1.0_byKL

    摘要:學習筆記字符串的擴展字符的表示法允許使用的形式表示一個字符,但在之前,單個碼點僅支持到,超出該范圍的必須用雙字節(jié)形式表示,否則會解析錯誤。返回布爾值,表示參數(shù)字符串是否在源字符串的頭部。,是引入了字符串補全長度的功能。 es6學習筆記-字符串的擴展_v1.0 字符的Unicode表示法 JavaScript 允許使用uxxxx的形式表示一個字符,但在 ES6 之前,單個碼點僅支持u00...

    JaysonWang 評論0 收藏0
  • es6學習筆記-字符串模板_v1.0_byKL

    摘要:學習筆記字符串模板實例模板編譯先組成一個模板使用放置代碼使用輸出表達式。這被稱為標簽模板功能。該數(shù)組的成員與數(shù)組完全一致參考引用字符串擴展 es6學習筆記-字符串模板_v1.0 實例:模板編譯 //先組成一個模板 var template = ` //使用放置JavaScript代碼 //使用輸出JavaScript表達式。 `; //這是編譯模板的函數(shù),將模...

    xiongzenghui 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<