jQuery的if語句是判斷條件是否成立,如果成立就執行相應的代碼塊,否則就跳過。但是有時候我們發現if語句中的代碼卻沒有被執行,這該怎么辦呢?
// 例子1 if (1 == "1") { console.log("執行"); } // 結果輸出:執行 // 例子2 if (1 === "1") { console.log("執行"); } // 結果輸出:(空白) // 例子3 if (undefined) { console.log("執行"); } // 結果輸出:(空白) // 例子4 if (null) { console.log("執行"); } // 結果輸出:(空白)
以上是四個關于if語句的例子,第一個例子中條件成立,會執行console.log()語句,能夠正常輸出。但是第二個例子中,1 === "1"比較的是值以及數據類型是否都相等,因為值相等,但是數據類型不同,所以if語句判斷條件不成立,不執行代碼塊內的語句,最終輸出為空白。第三個和第四個例子中,如果變量為undefined或者null時,if語句同樣會判斷條件不成立,會直接跳過走else分支或者跳到下一步操作。
因此,如果if語句中的代碼沒有執行,我們需要檢查條件是否滿足,變量數據類型是否正確等。