關於JS的Switch語句理解


switch (fruit) {
    case "banana":
        // ...
        break;
    case "apple":
        // ...
        break;
    default:
        // ...
}

上面代碼根據變量fruit的值,選擇執行相應的case。如果所有case都不符合,則執行最后的default部分。需要注意的是,每個case代碼塊內部的break語句不能少,否則會接下去執行下一個case代碼塊,而不是跳出switch結構。

 

需要注意的是,switch語句后面的表達式與case語句后面的表示式,在比較運行結果時,采用的是嚴格相等運算符(===),而不是相等運算符(==),這意味着比較時不會發生類型轉換。

switch結構不利於代碼重用,往往可以用對象形式重寫。

var o = {
    banana: function (){ return },
    apple: function (){ return },
    default: function (){ return }
};

if (o[fruit]){
    o[fruit]();
} else {
    o['default']();
}

 

  var lwFruit = {
            "Apple": function () {
                alert("我是小蘋果");
            },
            "Banana": function () {
                alert("我是邪惡的香蕉!嘿嘿!");
            }, "Default": function () {
                alert("未知的水果啦!");
            }
        };
        var varFruit = "333";
        if (lwFruit[varFruit]) {
            lwFruit[varFruit]();
        } else {
            lwFruit.Default();
        }

 轉自:http://javascript.ruanyifeng.com/grammar/basic.html


免責聲明!

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



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