国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript判斷是否為NaN

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript判斷是否為NaN。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

(旅行是最勞頓,最麻煩,叫人本相必現(xiàn)的時(shí)候。經(jīng)過長期苦旅行而彼此不討厭的人,才可以結(jié)交作朋友?!X鐘書)

JavaScript判斷是否為NaN

為什么NaN在js值得一提

相信你在實(shí)際開發(fā)中,經(jīng)常遇到一下場景

const pasNumber = parseInt(undefined);
console.log(pasNumber); // NaN
console.log(typeof pasNumber === 'number'); // true
console.log(Object.prototype.toString.call(pasNumber)); // '[object Number]'
console.log(NaN === NaN); // false

業(yè)務(wù)中不可避免的有些字段是空值,但經(jīng)過轉(zhuǎn)換后會變?yōu)镹aN值,而在js中NaN的類型無論怎么判斷都是數(shù)字,并且奇怪的是NaN并不等于NaN。

如何正確的對NaN做出判斷

NaN的字面意思是Not-a-Number,其在計(jì)算機(jī)科學(xué)中屬于計(jì)算中的缺失值。
NaN的由來說明
在js中可以是同isNaN方法來進(jìn)行判斷。

isNaN = function(value) {
    var n = Number(value);//此處對參數(shù)進(jìn)行強(qiáng)制類型轉(zhuǎn)換
    return n !== n;
};
console.log(isNaN(NaN)); // true
console.log(isNaN('123a')); // true
console.log(isNaN([1, 2, 3])); // true
console.log(isNaN({})); // true

但我們發(fā)現(xiàn),因?yàn)槊看味枷葘⒅颠M(jìn)行數(shù)字強(qiáng)轉(zhuǎn),導(dǎo)致一些非NaN的值也被誤判成了NaN。

所以在es5又給Number添加了isNaN方法,它的源碼是這樣的。

Number.isNaN = function(value) {
    return value !== value;
};
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN('123a')); // false
console.log(Number.isNaN([1, 2, 3])); // false
console.log(Number.isNaN({})); // false

因?yàn)樵趈s中,只有NaN是不等于自身的,所以Number.isNaN更為嚴(yán)謹(jǐn)。

所以,在后續(xù)的js編碼中,對NaN的處理我們也可以盡量使用Number.isNaN了。文章來源地址http://www.zghlxwxcb.cn/news/detail-433892.html

到了這里,關(guān)于JavaScript判斷是否為NaN的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript判斷對象是否為空對象的幾種方法

    JavaScript判斷對象是否為空對象的幾種方法

    目錄 1、空對象對應(yīng)的字符串為 \\\"{}\\\" 2、for in 3、jquery 的 isEmptyObject()方法 4、Object.getOwnPropertyNames() 5、ES6 的 Object.keys() JSON.stringify()擴(kuò)展 1、第一大特性 小結(jié) 2、第二大特性 3、第三大特性 4、第四大特性 5、第五大特性 6、第六大特性 7、第七大特性 8、第八大特性 var data = {}; v

    2024年01月16日
    瀏覽(31)
  • JavaScript判斷數(shù)組對象是否含有某個(gè)值的方法(6種)

    JavaScript判斷數(shù)組對象是否含有某個(gè)值的方法(6種)

    文章內(nèi)容 文章鏈接 vue3 antd table表格的增刪改查(一) input輸入框根據(jù)搜索【后臺管理系統(tǒng)純前端filter過濾】 https://blog.csdn.net/XSL_HR/article/details/128072584?spm=1001.2014.3001.5501 vue3 antd table表格的增刪改查(二) input輸入框根據(jù)搜索【后臺管理系統(tǒng) 請求后端接口 前后端

    2024年02月06日
    瀏覽(29)
  • JavaScript之判斷是否整數(shù)、取余、取整、進(jìn)制、位或、ES6

    使用取余運(yùn)算符判斷,利用任何整數(shù)都會被1整除的原理,即余數(shù)是0的特點(diǎn),通過這個(gè)規(guī)則來判斷是否是整數(shù)。 以上輸出可以看出這個(gè)函數(shù)挺好用,但對于 字符串 和 某些特殊值 則需要完善一下檢驗(yàn)規(guī)則,否則會被\\\"欺騙\\\",對于空字符串、字符串類型數(shù)字、布爾true、空數(shù)組都

    2024年01月19日
    瀏覽(25)
  • vue中獲取復(fù)選框是否被選中的值、如何用JavaScript判斷復(fù)選框是否被選中

    一、方法介紹? ????????第一種方法:通過獲取dom元素,getElementById、querySelector、getElementsByName、querySelectorAll(需要遍歷,例如:for循環(huán)) ????????第二種是用v-model在input復(fù)選框上綁定一個(gè)變量,通過雙向綁定的特性來判斷復(fù)選框是否被選中。 (推薦使用) 二、演示

    2024年02月03日
    瀏覽(35)
  • 百度地圖API:JavaScript開源庫幾何運(yùn)算判斷點(diǎn)是否在多邊形內(nèi)(電子圍欄)

    百度地圖API:JavaScript開源庫幾何運(yùn)算判斷點(diǎn)是否在多邊形內(nèi)(電子圍欄)

    漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(1)華為手機(jī)無法使用addEventListener click 的兼容解決方案 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(2)文本標(biāo)簽顯示和隱藏的切換開關(guān) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(3)自動獲取地圖多邊形中心點(diǎn)坐標(biāo) 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(4)顯示指定區(qū)域在移動端異常的

    2024年02月07日
    瀏覽(49)
  • JavaScript - 判斷當(dāng)前時(shí)間是否在指定區(qū)間內(nèi),例如:9:00~12:00(檢查當(dāng)前時(shí)間是否處于規(guī)定的兩個(gè)時(shí)間段范圍內(nèi)),適用于 vue.js / uniapp / 微信小程序等前端項(xiàng)目

    例如,您想知道當(dāng)前時(shí)間是否處于 9:00 ~ 12:00 時(shí)間區(qū)間內(nèi),然后根據(jù)這個(gè)判斷進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯。 如下示例所示, 本文提供一個(gè)函數(shù),您只需要傳入 2 個(gè)時(shí)間區(qū)間,便可得出當(dāng)前時(shí)間是否在該時(shí)間區(qū)間范圍內(nèi): 您可以一鍵復(fù)制,直接粘貼到您的項(xiàng)目中。 您只需要傳入開始時(shí)

    2024年02月16日
    瀏覽(50)
  • 微信小程序如何判斷對象是否為空、判斷值是否存在

    微信小程序如何判斷對象是否為空、判斷值是否存在

    在 js 文件中需要對 data 里一些的對象進(jìn)行判斷是否為空 比如這里我要在頁面加載時(shí)判斷 data 中的 record 是否為空: 在 onload() 方法中使用 Object.key().length0 來判斷: Object.keys()方法:將給定對象的所有可枚舉屬性變成一個(gè)字符串?dāng)?shù)組 解釋:將需要判斷的對象轉(zhuǎn)換為一個(gè)字符

    2024年02月11日
    瀏覽(205)
  • JS判斷輸入值是否為正整數(shù),判斷變量是否為數(shù)字

    這篇文章將討論如何確定一個(gè)變量是否代表 JavaScript 中的有效數(shù)字。 1.JS中的test是原來是JS中檢測字符串中是否存在的一種模式,JS輸入值是否為判斷正整數(shù)代碼: 擴(kuò)展: 附判斷數(shù)字、浮點(diǎn)的正則表達(dá):? ”^\\\\d+$” //非負(fù)整數(shù)(正整數(shù) + 0) “^[0-9]*[1-9][0-9]*$” //正整數(shù) “^(

    2024年02月06日
    瀏覽(20)
  • c語言——判斷,判斷是否是字母

    c語言——判斷,判斷是否是字母

    ? 當(dāng)對這段代碼進(jìn)行分塊分析時(shí),可以將其分為以下幾個(gè)部分: 第一部分: 這部分代碼包含了頭文件 stdio.h 和 stdlib.h 的引入以及 main() 函數(shù)的定義。定義了一個(gè)字符型變量 c ,用于存儲用戶輸入的字符。 通過 printf 函數(shù)打印出提示信息,要求用戶輸入字符。然后使用 scanf 函

    2024年02月06日
    瀏覽(20)
  • 如何判斷手機(jī)是否有root權(quán)限(是否越獄)

    如何判斷手機(jī)是否有root權(quán)限(是否越獄)

    1.通過adb命令判斷 命令行輸入 adb shell,#代表已經(jīng)root過,$代表沒有root權(quán)限

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包