if ('0') alert("'0' is true");
if ('0' == false) alert("'0' is false");結果是,兩次都 alert 了!那么 '0' 到底是 true 還是 false 呢?
答案是:在js做比較的時候,有這樣的三條規則:
如果比較的兩者中有boolean,會把 boolean 先轉換為對應的 number,即 0 和 1(false是0,1是true)
如果比較的雙方中有一方為number一方為string,會把string轉換為數字
把string直接轉換為boolean的時候,空字符串‘’轉換為 false,除此外的一切字符串轉換為 true