嗯,我會通過Mozilla的javascript參考,並發現..Javascript - 爲什麼NaN(1 + null)返回false?
isNaN(1 + null) //false
isNaN(1 + undefined) //true
我無法理解這背後的原因。
嗯,我會通過Mozilla的javascript參考,並發現..Javascript - 爲什麼NaN(1 + null)返回false?
isNaN(1 + null) //false
isNaN(1 + undefined) //true
我無法理解這背後的原因。
從https://www.w3schools.com/js/js_type_conversion.asp,當null
轉換爲number
,就變成0。因此,0 + 1 = 1,它是有效的數量,因此isNaN
返回false
。
當undefined
轉換爲數字時,它變爲NaN
。 Any Number + NaN = NaN
,所以isNaN
返回true。
Upvoted,但不是w3schools,你可以參考更準確的東西:https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber –
@niki感謝您解釋這一點。 –
'+ null === 0','+ undefined === NaN' – elclanrs
您是否嘗試過僅打印'1 + null'的值?這是基本原因。 – JJJ