Сообщение от B~Vladi
|
Можно пример?
|
Ну, иногда можно видеть код:
function doThis() {
...
}
function doThat() {
...
}
function foo(bar) {
switch (bar) {
case 'this':
doThis();
break;
case 'that':
doThat();
break;
...
default:
...
}
}
foo('this');
foo('that');
...
который можно преобразовать в
var commands = {
doThis: function () {...},
doThat: function () {...}
};
function foo(bar) {
return commands['do' + bar.capitalize()]();
}
Однако, это не всегда возможно. Но, в тех случаях, когда возможно - может быть достаточно эффективно в плане кода (в некоторых случаях - менее эффективно в плане памяти).