关于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