本文將討論JavaScript中的NaN,即Not a Number。
NaN是什么意思?當數字無法被解析時,JavaScript會返回NaN。NaN是一個特殊的值,屬于number類型,但它并不等于任何其他數字,包括自己。NaN的出現通常意味著代碼中出現了不合法的算術運算,例如0/0、Infinity/Infinity等。
舉個例子:
console.log(0/0); //輸出 NaN console.log(Infinity/Infinity); //輸出 NaN
如果在運算的過程中存在使用了undefined的話,代碼仍然會返回NaN。
var a = undefined * 2; console.log(a); //輸出 NaN
NaN在邏輯判斷中的結果始終為false。
示例代碼:
var b = NaN; if(b){ console.log("b是一個數字"); }else{ console.log("b不是一個數字"); } //輸出 “b不是一個數字”
判斷一個值是否為NaN,不能使用等于運算符"==",因為NaN不等于任何值,包括自己??梢允褂胕sNaN()方法進行判斷。
示例代碼:
var c = parseInt("hello"); if(isNaN(c)){ console.log("c不是一個數字"); }else{ console.log("c是一個數字"); } //輸出 “c不是一個數字”
需要注意的是,在使用isNaN()方法時,若參數不是number類型的,函數會將它先轉化成number類型再判斷是否是NaN。
舉個例子:
console.log(isNaN("hello")); //輸出 true console.log(isNaN("123abc")); //輸出 true console.log(isNaN("123")); //輸出 false
需要注意的是,在使用parseInt()方法時,若無法轉化成number類型,函數會返回NaN。
舉個例子:
console.log(parseInt("hello")); //輸出 NaN console.log(parseInt("123abc")); //輸出 123 console.log(parseInt("123")); //輸出 123
總結:
NaN是一個特殊的數字,它通常出現在不合法的算術運算中,如0/0、Infinity/Infinity等。NaN在條件判斷中的結果始終為false。反過來,我們可以使用isNaN()方法判斷一個值是否是NaN。需要注意的是,在使用isNaN()方法時,若參數不是number類型的,函數會將它先轉化成number類型再判斷是否是NaN。
上一篇div 行距
下一篇div 穿透 css