nan 在 javascript 中出現的原因
NaN(Not-a-Number)是 JavaScript 中表示非數字值的一個特殊值。它通常出現在以下情況下:
1. 嘗試轉換無效的字符串為數字
例如:
<code>const num = parseInt("abc");</code>
登錄后復制
上述代碼嘗試將字符串 “abc” 轉換為數字,由于 “abc” 不是有效的數字,因此結果為 NaN。
2. 數學運算中的無效操作
例如:
<code>const num = 0 / 0;</code>
登錄后復制
上述代碼嘗試除以 0,這是無效的操作,因此結果為 NaN。
3. 試圖訪問未初始化的變量
例如:
<code>let num; console.log(num);</code>
登錄后復制
上述代碼中,num 變量未初始化,因此 console.log 輸出 NaN。
4. 使用isNaN() 函數
isNaN() 函數用于測試一個值是否為 NaN。如果值為 NaN,則函數返回 true,否則返回 false。
5. 其他情況
除了上述情況外,NaN 還可以出現在以下情況下:
嘗試將 Infinity 與另一個值相加或相減
嘗試將數字與字符串相乘
嘗試將數字轉換為布爾值
注意:
并不是所有出現 NaN 的值都是錯誤的。在某些情況下,NaN 可以作為有效結果,例如:
Math.sqrt(-1) 返回 NaN,表示平方根的虛部
parseInt(“0x10”) 返回 NaN,表示十六進制字符串轉換為數字失敗