搜尋
首頁web前端js教程為ecmascript做準備6:新數字方法

為ecmascript做準備6:新數字方法

本文涵蓋了ES6中的新的和改進的數字方法(ecmascript 6)。

>這是有關ES6的新功能的系列的一部分,在其中我們還討論了可用於字符串和數組數據類型的新方法,但也討論了新類型的數據類型,例如MAP和FEAMMAP。

>我將向您介紹添加到數字數據類型中的新方法和常數。正如我們將看到的那樣,其中一些數字方法並不是什麼新鮮事物,但是它們已得到改進和/或在正確的對像下移動(例如,isnan())。與往常一樣,我們還將通過一些示例將新知識付諸實踐。因此,事不宜遲,讓我們開始。

>

鑰匙要點

ES6

介紹了幾種新數字方法,包括number.isinteger(),number.isnan(),number.Siffinite(),number.issafeInteger(),number.parseint()和number.parsefloat()。 >
    number.isinteger()檢查傳遞的值是否為整數,number.isnan()測試是否值等於nan,而number.Siffinite()測試是否傳遞的值是有限的數字。
  • number.issafeinteger()測試是否傳遞的值是一個安全整數,定義為一個可以完全表示為IEEE-754雙重精度編號的整數。
  • number.parseint()和number.parsefloat()並不是新事物,但它們已在數字對像下移動,以實現全球模塊化。他們分析字符串參數並分別返回整數和浮點數。
  • ES6還引入了兩個相關的常數值:number.max_safe_integer和number.min_safe_integer,代表JavaScript中的最大和最小安全整數。 number.isinteger()
  • 我要涵蓋的第一個方法是number.isinteger()。這是JavaScript的新補充,這是您過去自己定義和使用的東西。它確定傳遞給函數的值是否為整數。如果傳遞值是整數,則此方法將返回true,否則為false。這種方法的實現非常容易,但是本地進行本地化仍然很好。重新創建此功能的可能解決方案之一是:
只是為了好玩,我試圖重新創建此功能,最後採用了另一種方法:>

這兩個功能都很好且有用,但它們不尊重Ecmascript 6的規格。因此,如果您想對此方法進行多填充,則需要一些更複雜的東西,正如我們很快會看到的那樣。目前,讓我們從發現number.isinteger()的語法開始:>

數字參數代表您要測試的值。
<span>Number.isInteger = Number.isInteger || function (number) {
</span>  <span>return typeof number === 'number' && number % 1 === 0;
</span><span>};
</span>

使用此方法使用的一些示例如下:

<span>Number.isInteger = Number.isInteger || function (number) {
</span>  <span>return typeof number === 'number' && Math.floor(number) === number;
</span><span>};
</span>
>以下代碼的實時演示如下所示,也可以在JSBIN上找到。

>除了Internet Explorer,該方法在節點和所有現代瀏覽器中都支持該方法。如果您需要支持較舊的瀏覽器,則可以使用一個多填充,例如方法頁面上的Mozilla開發人員網絡上可用的瀏覽器。為了方便起見,下面還復制了這一點:

<span>Number.isInteger = Number.isInteger || function (number) {
</span>  <span>return typeof number === 'number' && number % 1 === 0;
</span><span>};
</span>
> number.isnan()

>過去您編寫了任何JavaScript代碼,此方法對您來說不應該是新的。一段時間以來,JavaScript有了一種稱為isnan()的方法,它通過窗口對象暴露。此方法測試值是否等於NAN,在這種情況下,它返回true或其他錯誤。 window.isnan()的問題是,它存在一個問題,因為它也返回true,因為

>轉換為數字的值將為nan。為了讓您對此問題有具體的想法,以下所有陳述返回true:> 您可能需要的是一種僅在傳遞NAN值時返回true的方法。這就是為什麼eCmascript 6引入了number.isnan()方法的原因。它的語法幾乎是您所期望的:

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

>在這裡,值是您要測試的值。該方法的一些示例用途如下:

>
<span>Number.isInteger(number)
</span>
如您所見,測試相同的值我們獲得不同的結果。

>以下片段的實時演示如下所示,也可以在JSBIN上找到。

除了Internet Explorer,該方法在節點和所有現代瀏覽器中都支持該方法。如果您想支持其他瀏覽器,那麼此方法的非常簡單的多填充如下:
<span>// prints 'true'
</span><span>console.log(Number.isInteger(19));
</span>
<span>// prints 'false'
</span><span>console.log(Number.isInteger(3.5));
</span>
<span>// prints 'false'
</span><span>console.log(Number.isInteger([1, 2, 3]));
</span>
>

這項工作的原因是因為NAN是JavaScript中唯一的非反射值,這意味著它是唯一不等於自身的值。

>

number.Isfinite()

此方法與上一個方法共享相同的故事。在JavaScript中,有一種稱為window.isfinite()的方法,該方法測試是否傳遞的值是有限的數字。不幸的是,對於
<span>if (!Number.isInteger) {
</span>  <span>Number.isInteger = function isInteger (nVal) {
</span>    <span>return typeof nVal === 'number' &&
</span>      <span>isFinite(nVal) &&
</span>      nVal <span>> -9007199254740992 &&
</span>      nVal <span>      <span>Math.floor(nVal) === nVal;
</span>  <span>};
</span><span>}
</span></span>
>轉換為一個數字的值,它也將返回true。此問題的示例如下:

出於這個原因,在ecmascript 6中,有一種屬於數字的方法稱為isfinite()。它的語法如下:

>在這裡,值是您要測試的值。如果您從上一個片段中測試相同的值,則可以看到結果是不同的:>

<span>// prints 'true'
</span><span>console.log(window.isNaN(0/0));
</span>
<span>// prints 'true'
</span><span>console.log(window.isNaN('test'));
</span>
<span>// prints 'true'
</span><span>console.log(window.isNaN(undefined));
</span>
<span>// prints 'true'
</span><span>console.log(window.isNaN({prop: 'value'}));
</span>
>以下片段的實時演示如下所示,也可以在JSBIN上找到。

除了Internet Explorer,該方法在節點和所有現代瀏覽器中都支持該方法。您可以在MDN的方法頁面上找到一個多填充。

>

number.issafeInteger()

number.issafeinteger()方法是ES6的全新添加。它測試傳遞的值是否是一個安全整數的數字,在這種情況下,它返回了TRUE。安全整數定義為滿足以下兩個條件的整數:>

    該數字可以完全表示為IEEE-754雙精度編號
  • 該數字的IEEE-754代表不可能是將任何其他整數符合IEEE-754表示的結果。 >
  • >基於此定義,安全整數是 - (2
53

- 1)包含在2 53> 53 > 1的整數中。這些價值觀很重要,我們將在本節的末尾進行更多討論。 >。 該方法的語法為:

>在這裡,值是您要測試的值。該方法的一些示例用途如下:

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

>該代碼的實時演示如下所示,也可在JSBIN上找到。 除了Internet Explorer外,

<span>Number.isInteger = Number.isInteger || function (number) {
</span>  <span>return typeof number === 'number' && Math.floor(number) === number;
</span><span>};
</span>
請注意,此polyfill依賴於以前討論過的number.isinteger()方法,因此您還需要對後者進行多填充。

> ecmascript 6還引入了兩個相關的常數值:number.max_safe_integer和number.min_safe_integer。前者代表JavaScript中的最大安全整數 - 即2

53

> 1-而後者是最小安全整數,即 - (253

1)。您可能會注意到,這些是我之前引用的相同值。
<span>Number.isInteger(number)
</span>

number.parseint()和number.parsefloat()

number.parseint()和number.parsefloat()方法在同一部分中介紹,因為與本文中提到的其他類似方法不同,它們已經存在於以前的Ecmascript中舊的全球版本。因此,您可以以到目前為止所做的方式使用它們,並且可以期待相同的結果。將這些方法添加到數字的目的是全球的模塊化。 為了完整,我正在報告他們的語法:> >在這裡,字符串表示您要解析的值,而radix是您要使用的radix轉換字符串。 以下片段顯示了一些示例,用途:

>下面顯示了此代碼的實時演示,也可以在JSBIN上找到。

> 除了Internet Explorer,這些方法在節點和所有現代瀏覽器中都支持這些方法。如果您想將它們進行多填充,則可以簡單地調用其相關的全局方法,如下所示:

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

>瀏覽器支持

>以下圖形描述了瀏覽器對ES6中內置數字對象的擴展的支持。鼠標在盒子上查看相應瀏覽器版本的百分比使用。

>

我可以使用ES6數字嗎? Caniuse.com主要瀏覽器中對ES6數字功能的支持數據。

ES6數字方法:總結

在本教程中,我們介紹了與數字數據類型一起使用的Ecmascript 6中添加的新方法和常數。值得注意的是,ES6還增加了我尚未提到的另一個常數。這是number.epsilon和

代表一個和最小的值之間的差異大於一個數字的大於一個數字。 在最後一個註釋中,我們已經結束了數字數據類型的旅程。

經常詢問有關ES6數字方法的問題(常見問題解答)

>新的ES6數字方法是什麼?它們如何工作?

ES6引入了幾種新的數字方法,使與JavaScript中的數字更易於使用。其中包括number.Isfinite(),number.isinteger(),number.isnan(),number.parsefloat()和number.parseint()。這些方法中的每一個都執行特定功能。例如,number.Iffinite()檢查值是否為有限數,而number.isinteger()檢查值是否為整數。 number.isnan()檢查值是否為nan(不是數字),number.parsefloat()和number.parseint()分別返回浮點數和整數。 epsilon方法在es6?

number.eps6中如何工作。 ES6中的epsilon是一個新常數,代表兩個代表數字之間的最小間隔。在比較浮點數的平等時,這特別有用。由於計算機中浮點數表示的方式,即使它們看起來也不完全相同。 number.epsilon可用於檢查兩個數字之間的差異是否小於最小的間隔,表明它們實際上相等。 ES6中的number.issafeinteger()方法用於確定值是否是安全整數。安全整數是一個可以完全表示為IEEE -754雙精度編號的數字,這意味著它在 - (2^53 - 1)和2^53 - 1。確保在JavaScript中可以準確表示一個數字,這在某些數學操作中可能很重要。

> number.parseint()方法與global parseint()函數有何不同?數字對象的一部分。這意味著您可以將其稱為數字對像上的方法,而不是作為獨立函數。功能是相同的 - 它將字符串轉換為指定的radix或base。 number.max_safe_integer和number.min_safe_integer常數ES6中代表JavaScript中的最大和最小安全整數值。安全整數是可以完全表示為IEEE-754雙精度編號的整數。當您需要檢查一個數字是否在安全整數範圍內時,這些常數很有用,這在某些數學操作中可能很重要。

>

>我如何在es6?

中使用number.Isfinite()方法是使用es6中的number.isfinite()方法來確定值是否為有限數字。這與全局isfinite()函數不同,該函數將其參數轉換為數字,然後在測試它之前。 number.Iffinite()不執行此轉換,因此僅在參數為有限數字時返回true,而如果參數是不能轉換為數字的值。 eS6?

中的number.parsefloat()方法在es6中的number.parsefloat()方法在es6中的number.parsefloat()方法基本上與global parsefloat()函數相同,但它是數字對象的一部分。這意味著您可以將其稱為數字對像上的方法,而不是作為獨立函數。功能是相同的 - 它解析了一個字符串參數並返回浮點數。

如何在es6?

中使用number.isinteger()方法number.isinteger() ES6中的方法用於確定值是否是整數。如果該值是一個不是無窮大的,而不是NAN的數字,則此方法將返回true,並且可以在沒有分數組件的情況下表示。當您需要檢查一個數字是否是整數時,這很有用,這在某些數學操作中可能很重要。

>

>新的ES6編號方法的實際應用是什麼?

>新的ES6數字方法提供了更健壯,更精確的方法來使用JavaScript中的數字。它們可用於檢查一個數字是有限的,整數,NAN還是安全的整數,並將字符串分解為數字。這些方法在需要精確控制數字的數學操作,數據驗證以及其他任何地方都可能特別有用。

以上是為ecmascript做準備6:新數字方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在JavaScript中替換字符串字符在JavaScript中替換字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

自定義Google搜索API設置教程自定義Google搜索API設置教程Mar 04, 2025 am 01:06 AM

本教程向您展示瞭如何將自定義的Google搜索API集成到您的博客或網站中,提供了比標準WordPress主題搜索功能更精緻的搜索體驗。 令人驚訝的是簡單!您將能夠將搜索限制為Y

8令人驚嘆的jQuery頁面佈局插件8令人驚嘆的jQuery頁面佈局插件Mar 06, 2025 am 12:48 AM

利用輕鬆的網頁佈局:8 ESTISSEL插件jQuery大大簡化了網頁佈局。 本文重點介紹了簡化該過程的八個功能強大的JQuery插件,對於手動網站創建特別有用

構建您自己的Ajax Web應用程序構建您自己的Ajax Web應用程序Mar 09, 2025 am 12:11 AM

因此,在這裡,您準備好了解所有稱為Ajax的東西。但是,到底是什麼? AJAX一詞是指用於創建動態,交互式Web內容的一系列寬鬆的技術。 Ajax一詞,最初由Jesse J創造

什麼是這個&#x27;在JavaScript?什麼是這個&#x27;在JavaScript?Mar 04, 2025 am 01:15 AM

核心要點 JavaScript 中的 this 通常指代“擁有”該方法的對象,但具體取決於函數的調用方式。 沒有當前對象時,this 指代全局對象。在 Web 瀏覽器中,它由 window 表示。 調用函數時,this 保持全局對象;但調用對象構造函數或其任何方法時,this 指代對象的實例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。這些方法使用給定的 this 值和參數調用函數。 JavaScript 是一門優秀的編程語言。幾年前,這句話可

10張移動秘籍用於移動開發10張移動秘籍用於移動開發Mar 05, 2025 am 12:43 AM

該帖子編寫了有用的作弊表,參考指南,快速食譜以及用於Android,BlackBerry和iPhone應用程序開發的代碼片段。 沒有開發人員應該沒有他們! 觸摸手勢參考指南(PDF)是Desig的寶貴資源

通過來源查看器提高您的jQuery知識通過來源查看器提高您的jQuery知識Mar 05, 2025 am 12:54 AM

jQuery是一個很棒的JavaScript框架。但是,與任何圖書館一樣,有時有必要在引擎蓋下發現發生了什麼。也許是因為您正在追踪一個錯誤,或者只是對jQuery如何實現特定UI感到好奇

如何創建和發布自己的JavaScript庫?如何創建和發布自己的JavaScript庫?Mar 18, 2025 pm 03:12 PM

文章討論了創建,發布和維護JavaScript庫,專注於計劃,開發,測試,文檔和促銷策略。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。