if(xx)和a==b的判斷
在JS中,if語句是最常見的編程語句,語法為
if(condition){
//true statement
}else {
//false statement
}
其中condition可以是任意表達式,結果不一定是布爾值,JavaScript解釋器會自動調用Boolean()將表達式結果轉為布爾值,如果表達式為真執(zhí)行第一個代碼塊內語句,如果為假執(zhí)行第二個代碼塊內語句。
最為關鍵的一點,就在于JS解釋器是如何將括號里的內容轉換為布爾值的。通過下圖就一目了然了。

a==b或a===b
對于運算符“==”和“===”來說,都是用于判斷符號兩邊是否相等,區(qū)別在于“===”是要求符號兩邊嚴格相等的。
例如 666==“666”是true,因為“666”通過==可以看做轉換為了666數值。
然而對于666===“666”來說,結果則為false,因為符號兩邊,一個是數值,一個是字符串,類型不同,所以為false。