<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        ES6中全新的數(shù)字方法總結(jié)(必看)

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:32:10
        文檔

        ES6中全新的數(shù)字方法總結(jié)(必看)

        ES6中全新的數(shù)字方法總結(jié)(必看):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于ES6中全新的數(shù)字方法總結(jié)(必看),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。本文介紹了ES6中全新的數(shù)字方法(ECMAScript 6)。本文將向您介紹添加Number數(shù)據(jù)類型的新方法和常量。當(dāng)然,這里采用的方法
        推薦度:
        導(dǎo)讀ES6中全新的數(shù)字方法總結(jié)(必看):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于ES6中全新的數(shù)字方法總結(jié)(必看),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。本文介紹了ES6中全新的數(shù)字方法(ECMAScript 6)。本文將向您介紹添加Number數(shù)據(jù)類型的新方法和常量。當(dāng)然,這里采用的方法

        本篇文章給大家?guī)淼膬?nèi)容是關(guān)于ES6中全新的數(shù)字方法總結(jié)(必看),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        本文介紹了ES6中全新的數(shù)字方法(ECMAScript 6)。

        本文將向您介紹添加Number數(shù)據(jù)類型的新方法和常量。當(dāng)然,這里采用的方法并不完全是全新的,但它們已經(jīng)可以在 and/or 直接移動(例如isNaN())。我們會通過一些例子進(jìn)行實踐。

        Number.isInteger()

        我要介紹的第一種方法是Number.isInteger()。它是JavaScript的新增功能,您之前可能已經(jīng)定義和使用過這個方法。它確定傳遞給函數(shù)的值是否為整數(shù)。如果函數(shù)值是true,則返回此方法,false則跳出。這種方法的實現(xiàn)非常簡單,并且是原生JavaScript語法。重寫此功能的方法之一是:

         Number.isInteger = Number.isInteger || function (number) {
         return typeof number === 'number' && number % 1 === 0;
         };

        僅僅為了好玩,我重新改寫了這個功能,采用了完全不同的方法:

         Number.isInteger = Number.isInteger || function (number) {
         return typeof number === 'number' && Math.floor(number) === number;
         };

        雖然以上兩個方法均能判斷傳參是否為整數(shù),但它們不符合ECMAScript 6規(guī)范。所以,如果你想要嚴(yán)格按照ES6的規(guī)范改寫,就請從以下語法開始:

         Number.isInteger(number)

        該參數(shù)number表示要測試的值。

        使用此方法的示例如下所示:

         // prints 'true'
         console.log(Number.isInteger(19));
         
         // prints 'false'
         console.log(Number.isInteger(3.5));
         
         // prints 'false'
         console.log(Number.isInteger([1, 2, 3]));

        Node.js和所有現(xiàn)代瀏覽器都支持該方法,Internet Explorer除外。如果您需要支持舊版瀏覽器,則可以使用polyfill,例如火狐瀏覽器Mozilla Developer Network上提供的polyfill 。請看下面的代碼:

         if (!Number.isInteger) {
         Number.isInteger = function isInteger (nVal) {
         return typeof nVal === 'number' &&
         isFinite(nVal) &&
         nVal > -9007199254740992 &&
         nVal < 9007199254740992 &&
         Math.floor(nVal) === nVal;
         };
         }

        Number.isNaN()

        如果您以前編寫過JavaScript代碼,則此方法對您來說并不陌生。JavaScript有一個叫做isNaN()的方法通過window對象公開。此方法用以判斷測試值是否等于NaN,是返回true,否則返回false。不過直接調(diào)用window.isNaN()有一個問題,當(dāng)測試值被強(qiáng)制轉(zhuǎn)換為數(shù)字時,該方法會返回true值。為了讓您對此問題有一個具體的了解,以下所有語句都會返回:true

         // prints 'true'
         console.log(window.isNaN(0/0));
         
         // prints 'true'
         console.log(window.isNaN('test'));
         
         // prints 'true'
         console.log(window.isNaN(undefined));
         
         // prints 'true'
         console.log(window.isNaN({prop: 'value'}));

        您可能需要的是僅在傳遞值為NaN時返回true的方法。這就是ECMAScript 6引入Number.isNaN()的原因。它的語法如下:

         Number.isNaN(value)
         這value是您要測試的值。此方法的一些示例用法如下所示:
         
         // prints 'true'
         console.log(Number.isNaN(0/0));
         
         // prints 'true'
         console.log(Number.isNaN(NaN));
         
         // prints 'false'
         console.log(Number.isNaN(undefined));
         
         // prints 'false'
         console.log(Number.isNaN({prop: 'value'}));

        如您所見,測試相同的值我們獲得了不同的結(jié)果。

        Node和所有現(xiàn)代瀏覽器都支持該方法,Internet Explorer除外。如果您想支持其他瀏覽器,則此方法的一個非常簡單的polyfill如下:

         Number.isNaN = Number.isNaN || function (value) {
         return value !== value;
         };

        NaN是JavaScript中唯一的非自身值,這意味著它是唯一不等于自身的值。

        Number.isFinite()

        此方法與前一個方法具有相同的背景。在JavaScript中,有這么一個方法window.isFinite(),用于測試傳遞的值是否為有限數(shù)。不幸的是,它也會返回被強(qiáng)制轉(zhuǎn)換為數(shù)字的true值,示例如下所示:

         // prints 'true'
         console.log(window.isFinite(10));
         
         // prints 'true'
         console.log(window.isFinite(Number.MAX_VALUE));
         
         // prints 'true'
         console.log(window.isFinite(null));
         
         // prints 'true'
         console.log(window.isFinite([]));

        出于這個原因,在ECMAScript 6中有一個名為isFinite()的方法。其語法如下:

         Number.isFinite(value)

        value是您要測試的值。如果您測試上一個代碼段中的相同值,則可以看到結(jié)果不同:

         
         // prints 'true'
         console.log(Number.isFinite(10));
         
         // prints 'true'
         console.log(Number.isFinite(Number.MAX_VALUE));
         
         // prints 'false'
         console.log(Number.isFinite(null));
         
         // prints 'false'
         console.log(Number.isFinite([]));

        Node和所有現(xiàn)代瀏覽器都支持該方法,Internet Explorer除外。您可以在MDN上的方法頁面上找到它的polyfill。

        Number.isSafeInteger()

        Number.isSafeInteger()是ES6的全新補(bǔ)充。它測試傳遞的值是否是一個安全整數(shù),在這種情況下它返回true。安全整數(shù)定義為滿足以下兩個條件的整數(shù):

      1. 該數(shù)字可以精確地表示為IEEE-754雙精度數(shù)

      2. 數(shù)字的IEEE-754表示不能是舍入任何其他整數(shù)以適合IEEE-754表示的結(jié)果。

      3. 根據(jù)這個定義,安全整數(shù)是從 - (2的53次方 - 1)包含到2的53次方 - 1包含的所有整數(shù)。

         
         
         Number.isSafeInteger(value)
         這value是您要測試的值。此方法的一些示例用法如下所示:
         
         // prints 'true'
         console.log(Number.isSafeInteger(5));
         
         // prints 'false'
         console.log(Number.isSafeInteger('19'));
         
         // prints 'false'
         console.log(Number.isSafeInteger(Math.pow(2, 53)));
         
         // prints 'true'
         console.log(Number.isSafeInteger(Math.pow(2, 53) - 1));

        Number.isSafeInteger()在所有現(xiàn)代瀏覽器都支持,Internet Explorer除外。這種方法的polyfill是由Paul Miller從es6-shim中提取的,如:

         
         Number.isSafeInteger = Number.isSafeInteger || function (value) {
         return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
         };

        請注意,此polyfill依賴于Number.isInteger()之前討論的方法,因此您需要對后者進(jìn)行polyfill以使用此方法。

        ECMAScript 6還引入了兩個相關(guān)的常量值:Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。前者表示JavaScript中的最大安全整數(shù),即2的53次方 - 1,而后者表示最小安全整數(shù),即 - (2的53次方 - 1)。

        Number.parseInt()和Number.parseFloat()

        Number.parseInt()和Number.parseFloat()方法都屬于同一個部分,因為不像在這篇文章中提到的其他類似的方法,他們已經(jīng)在以前版本的ECMAScript中存在。因此,您可以用與目前相同的方式使用它們,并獲得相同的結(jié)果。語法如下:

         // Signature of Number.parseInt
         Number.parseInt(string, radix)
         
         // Signature of Number.parseFloat
         Number.parseFloat(string)

        這里的string表示要解析的值,radix是您要用于轉(zhuǎn)換的基數(shù)string。

        以下代碼段顯示了示例用法:

         // Prints '-3'
         console.log(Number.parseInt('-3'));
         
         // Prints '4'
         console.log(Number.parseInt('100', 2));
         
         // Prints 'NaN'
         console.log(Number.parseInt('test'));
         
         // Prints 'NaN'
         console.log(Number.parseInt({}));
         
         // Prints '42.1'
         console.log(Number.parseFloat('42.1'));
         
         // Prints 'NaN'
         console.log(Number.parseFloat('test'));
         
         // Prints 'NaN'
         console.log(Number.parseFloat({}));

        Node和所有現(xiàn)代瀏覽器都支持這些方法,Internet Explorer除外。如果您想要使用它們,您可以簡單地調(diào)用它們的全局方法,如下所示:

         // Polyfill Number.parseInt
         Number.parseInt = Number.parseInt || function () {
         return window.parseInt.apply(window, arguments);
         };
         
         // Polyfill Number.parseFloat
         Number.parseFloat = Number.parseFloat || function () {
         return window.parseFloat.apply(window, arguments);
         };

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ES6中全新的數(shù)字方法總結(jié)(必看)

        ES6中全新的數(shù)字方法總結(jié)(必看):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于ES6中全新的數(shù)字方法總結(jié)(必看),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。本文介紹了ES6中全新的數(shù)字方法(ECMAScript 6)。本文將向您介紹添加Number數(shù)據(jù)類型的新方法和常量。當(dāng)然,這里采用的方法
        推薦度:
        標(biāo)簽: 方法 的方法 數(shù)字
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人亚洲精品电影| 激情五月亚洲色图| 两性色午夜免费视频| 亚洲视频人成在线播放| 青青草97国产精品免费观看| 国产在线播放免费| 曰韩无码AV片免费播放不卡| 亚洲欧洲日产国码高潮αv| av网站免费线看| 亚洲AV永久纯肉无码精品动漫| 国产成年无码久久久免费| 亚洲嫩草影院久久精品| 91短视频免费在线观看| 亚洲a级成人片在线观看| 插B内射18免费视频| 国产成人高清亚洲一区91| 亚洲国产精品成人网址天堂| 巨胸喷奶水www永久免费| 亚洲av无码专区国产乱码在线观看| 久久大香香蕉国产免费网站| 婷婷久久久亚洲欧洲日产国码AV | 亚洲无成人网77777| 最近最新的免费中文字幕| 亚洲6080yy久久无码产自国产 | 亚洲精品成人片在线播放| 四虎影视成人永久免费观看视频 | 在线免费视频一区| 特级av毛片免费观看| 久久精品国产亚洲av麻| 好爽…又高潮了毛片免费看| 爱情岛论坛免费视频| 亚洲AV日韩AV永久无码久久| 亚洲人成网站免费播放| 免费一级全黄少妇性色生活片| 亚洲av伊人久久综合密臀性色| 99久久久国产精品免费无卡顿 | 好吊色永久免费视频大全| 亚洲理论片中文字幕电影| 国产精品99久久免费| 精品视频一区二区三区免费| 亚洲深深色噜噜狠狠网站|