使用对象替换switch语句

时间:2012-02-22 17:17:06

标签: javascript

我在jqfundamentals网站上找到以下例子。在我看来,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']();
}

2 个答案:

答案 0 :(得分:1)

只是检查stuffToDo[foo]是否存在......

如果它没有调用'default'

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

答案 1 :(得分:1)

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