使用对象替换switch语句

Using an object to replace the switch statement

本文关键字:switch 语句 替换 对象      更新时间:2023-09-26

我在jqfundmentals网站上找到了以下示例。在我看来,else的说法是不必要的/错误的。那么我错过了什么?

var stuffToDo = {
    'bar' : function() {
        alert('the value was bar -- yay!');
    },
    'baz' : function() {
        alert('boo baz :(');
    },
    'default' : function() {
        alert('everything else is just ok');
    }
};
if (stuffToDo[foo]) {
    stuffToDo[foo]();
} else {
    stuffToDo['default']();
}

它只是检查stuffToDo[foo]是否存在。。。

如果它不调用'default'

我不确定替换switch语句是必要的还是好的,更不用说javascript的基础了。。。

如果foo"moo",则将调用stuffToDo['default']()(以避免引发异常)