if([]){
//其餘代碼
}
複製代碼
if([]){
console.log("here");
}
複製代碼
發現瀏覽器打印出了:here,說明以前想法出錯了~~數組
可是,又嘗試瞭如下狀況:瀏覽器
[] == false
!![]
複製代碼
瀏覽器都打印出:true,這樣就感受更加迷惑了。也就是說空數組[]能夠轉換成true,能夠轉換成false,JavaScript果真是一個神奇的語言啊bash
使用"=="進行比較時,若是兩邊的類型不一致的話,會對兩邊的類型進行轉換,轉換成能夠相互比較的類型,針對以上狀況: 空數組[]會轉換成Number類型,轉換成0,false也會轉換成Number類型,也轉換成0,所以就出現了[] == false
結果是true的狀況spa