久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JavaScript 中判斷變量是否為數(shù)字

      今天JavaScript欄目如何判斷變量是否為數(shù)字。

      JavaScript 中判斷變量是否為數(shù)字

      大家都說(shuō)簡(jiǎn)歷沒(méi)項(xiàng)目寫(xiě),我就幫大家找了一個(gè)項(xiàng)目。

      簡(jiǎn)介

      JavaScript 是一種動(dòng)態(tài)類型語(yǔ)言,這意味著解釋器在運(yùn)行時(shí)確定變量的類型。實(shí)際上,這也允許我們?cè)谙嗤拇a中使用相同的變量來(lái)存儲(chǔ)不同類型的數(shù)據(jù)。如果沒(méi)有文檔和一致性,我們?cè)谑褂么a時(shí)并不總是知道變量的類型。

      當(dāng)我們期望一個(gè)變量是數(shù)字時(shí),對(duì)字符串或數(shù)組進(jìn)行操作可能會(huì)在代碼中導(dǎo)致奇怪的結(jié)果。在本文中,我們將會(huì)介紹一些判斷變量是否為數(shù)字的函數(shù)。

      "10"之類的數(shù)字的字符串不應(yīng)被接受。 在JavaScript中,諸如NaN,Infinity-Infinity之類的特殊值也是數(shù)字類型的。

      根據(jù)這些要求,最好使用的函數(shù)是內(nèi)置Number對(duì)象中的isFinite()函數(shù)。但是,開(kāi)發(fā)人員通常會(huì)使用其他函數(shù),如Number.isNaN()typeof()函數(shù)。

      我們先創(chuàng)建一些變量:

      let intVar = 2; let floatVar = 10.5; let stringVar = '4'; let nanVar = NaN; let infinityVar = Infinity; let nullVar = null; let undefinedVar = undefined;復(fù)制代碼

      使用 Number.isFinite() 函數(shù)名

      Number.isFinite()函數(shù)檢查變量是否為數(shù)字,還檢查其是否為有限值。 因此,對(duì)于NaN,Infinity-Infinity的數(shù)字,它返回false。

      我們用上面定義的變量來(lái)檢驗(yàn)一下:

      > Number.isFinite(intVar); true > Number.isFinite(floatVar); true > Number.isFinite(stringVar); false > Number.isFinite(nanVar); false > Number.isFinite(infinityVar); false > Number.isFinite(nullVar); false > Number.isFinite(undefined); false復(fù)制代碼

      這正是我們想要的。特殊的非有限數(shù)以及非數(shù)字類型的任何變量都會(huì)被忽略。所以,如果你想檢查一個(gè)變量是否是一個(gè)數(shù)字,最好的方法是使用Number.isFinite()函數(shù)。

      使用 Number.isNaN() 方法

      標(biāo)準(zhǔn)Number對(duì)象有一個(gè)isNaN()方法。它接受一個(gè)參數(shù),并確定其值是否為NaN。因?yàn)槲覀兿霗z查一個(gè)變量是否是一個(gè)數(shù)字,所以我們將在檢查中使用非操作符!

      > !Number.isNaN(intVar); true > !Number.isNaN(floatVar); true > !Number.isNaN(stringVar); true # Wrong > !Number.isNaN(nanVar); false > !Number.isNaN(infinityVar); true # Wrong > !Number.isNaN(nullVar); true # Wrong > !Number.isNaN(undefinedVar); true # Wrong復(fù)制代碼

      這個(gè)方法是相當(dāng)寬松的,因?yàn)樗邮芨静皇菙?shù)字的值。這種方法最適合于當(dāng)你知道你有一個(gè)數(shù)字并且要檢查它是否是一個(gè)NaN值時(shí),而不是一般的數(shù)字檢查。

      使用 typeof() 方法

      typeof()函數(shù)是一個(gè)全局函數(shù),它接受變量或值作為參數(shù),并返回其類型的字符串表示。JavaScript 總共有9種類型

      • undefined
      • boolean
      • number
      • string
      • bigint
      • symbol
      • object
      • null (typeof() 顯示的是 object)
      • function (一種特殊類型的 object)

      為了驗(yàn)證變量是否為數(shù)字,我們只需要檢查typeof()返回的值是否為`"number"。 讓我們嘗試一下測(cè)試變量:

      > typeof(intVar) == 'number'; true > typeof(floatVar) == 'number'; true > typeof(stringVar) == 'number'; false > typeof(nanVar) == 'number'; true # Wrong > typeof(infinityVar) == 'number'; true # Wrong > typeof(nullVar) == 'number'; false > typeof(undefined) == 'number'; false復(fù)制代碼

      typeof()函數(shù)的性能比Number.isNaN()要好得多。它正確地確定了字符串變量nullundefined不是數(shù)字。但是,對(duì)于NaNInfinity,它返回true。

      盡管從技術(shù)上來(lái)說(shuō)這是正確的結(jié)果,但NaNInfinity是特殊的數(shù)字值,對(duì)于大多數(shù)使用情況,我們寧愿忽略它們。

      總結(jié)

      在本文中,我們學(xué)習(xí)了如何檢查JavaScript中的變量是否為數(shù)字。 Number.isNaN()函數(shù)僅在我們知道變量為數(shù)字并且需要驗(yàn)證它是否為NaN`時(shí)才適用。

      如果代碼中有NaNInfinity-Infinity以及其他數(shù)字,則 typeof()`函數(shù)適用。

      Number.isFinite()方法捕獲所有有限數(shù),是最適合我們的要求。


      代碼部署后可能存在的BUG沒(méi)法實(shí)時(shí)知道,事后為了解決這些BUG,花了大量的時(shí)間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個(gè)好用的BUG監(jiān)控工具 Fundebug。

      相關(guān)免費(fèi)學(xué)習(xí)推薦:javascript(視頻)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)