1.代碼輸出題: var x = [0]; if([0]){ console.log(x==true); }else{ console.log("false");; } 考點:隱式轉換 解析:此題涉及兩次隱式轉換,第一次是在if中默認使用Boolean轉換,第二次是在==時發生了雙 等的隱式轉換。首先明確Boolean的轉換規則:①字符串時除空字符串以外其他都轉換爲true②數字 類型時除0其他都轉換爲true③對象時除了null其他都轉換爲true④undefined轉換爲false。故程序 會進入第一個if條件中,而後發生了==的隱式轉換。轉換規則以下:①若是一個運算數是 Boolean 值,在檢查相等性以前,把它轉換成數字值。false 轉換成 0,true 爲 1。②若是一個運算數是對 象,另外一個是數字,在檢查相等性以前,要嘗試把對象轉換成數字。故按照如上規則會先true 轉換爲1,而後會將[0]轉換成0,故二者不相等返回false