2012-02-22 3 views
0

Я нашел следующий пример на сайте jqfundamentals. Мне кажется, что заявление else ненужно/неправильно. Так что я пропущу?Использование объекта для замены оператора switch

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'](); 
} 
+1

ehrm .. заявление 'switch' было бы намного, гораздо более удобным для такого рода вещей в любом случае :) – jAndy

ответ

1

Это просто проверка, что stuffToDo[foo] существует ...

и если это не вызывает 'default'

Не уверен, что я думаю, что замена оператора коммутатора необходимо или хорошо, не говоря уже о фундаментальный из JavaScript ...

1

Если foo является "moo", то stuffToDo['default']() будет вызываться (чтобы избежать беспересадочный крыло исключение.)

Смежные вопросы