它是一個特殊的數值。它用於表示一個本來要返回數值的操作數未返回數值的情況。
在ECMAScript中,任何數值除以0會返回NaN,而不會導致錯誤,不會停止代碼的執行,因此不會影響其他代碼的執行。
NaN本身兩個不同尋常的特點:
1.任何涉及NaN的操作都會返回NaN,這個特點在多步計算中有可能導致問題。
2.NaN與任何值都不相等,包括NaN本身,即:alert(NaN == NaN); //false
isNaN()函數,它可以接受一個任何類型的參數,例如:
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false
alert(isNaN("10")); //false (可以被轉化成數值10)
alert(isNaN("blue")); //true (不能轉換成數值)
alert(isNaN(true)); //false