javascript中為什么 "\t\r\n"==0為真
javascript中為什么 "\t\r\n"==0為真
長風秋雁
2019-02-17 14:20:39
TA貢獻1872條經驗 獲得超4個贊
一個非數字在與數字做比較的時候,javascript會先將要做對比的非數字一端轉換為數字,即
Number("\t\r\n")。
使用Number轉換時,對于\t\r\n之類的空白字符,會轉換為0,而對于其他非數字字符,如“abcd”則轉換為NaN。
所以"\t\r\n"==0 即Number("\t\r\n")==0 即0==0 返回為true。
PS:上面那位“左手編碼”兄弟說的不準確,任何非空字符串朝布爾值上轉均為true。即使是"0"、“false” 等也不例外
即 Boolean("\t\r\n") = true, Boolean("0") = true , Boolean("false") = true
舉報