關於if省略{}時的一些問題


在if語句中有這樣的情況當條件成立時執行語句只有一句的時候我們通常可以省略花括號

var a = 0;
if(a == 0)a++;

這樣的情況顯然是可以的但是有些情況我們需要特別注意(當if/else語句中嵌套if語句時,必須確保else語句匹配正確的if語句)例如

    var i = j = 1,
        k = 2;
    if(i==j)
        if(j==k)
            console.log("i 等於 k")
    else
        console.log("i 不等於 j")

結果

這個時候的else匹配不是我們想要的匹配外層的在javascript解析器中它被解析成

 if(i ==j){
        if(j==k){
            console.log("i 等於 k")
        }
        else{
            console.log("i 不等於 j")
        }
    }

然而我們想要的卻是

if(i ==j){
        if(j==k){
            console.log("i 等於 k")
        }
    }
    else{
        console.log("i 不等於 j")
    }

所以平時寫代碼為了可讀性更強,更易理解,更方便維護應當使用花括號

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM