else if или switch
Что быстрее else if или switch конструкция, прочитал в книге , что switch быстрее, есть сомнения...
|
ну когда у тебя 2 или 3 варианта, сатвь иф-эльс.. а если их больше 5, 10.. или может стать больше, то лучше использоваться свич..
|
Конструкции вида
var vr = getVr(); // some variable
if(vr == 1) {/*blah-blah-blah*/}
else if(vr == 2) {/*blah-blah-blah*/}
else if(vr == 3) {/*blah-blah-blah*/}
else {/*blah-blah-blah*/}
Лучше делать switch'ем. То, что не получается сделать switch'ем — через else if. |
Также, иногда удобно заменить switch объектом.
|
Цитата:
|
Цитата:
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()]();
}
Однако, это не всегда возможно. Но, в тех случаях, когда возможно - может быть достаточно эффективно в плане кода (в некоторых случаях - менее эффективно в плане памяти). |
Цитата:
Один из них (кусок метода вызываемого так: new Date().add({y: 1, m: 5, d: 10, s: 500}) ):
this.setTime(this.getTime() + count * ({w: 6048e5, d: 864e5, h: 36e5, n: 6e4, s: 1e3}[interval] || 1));
|
http://webo.in/articles/habrahabr/78...s-performance/,
раздел "Ветви". |
Цитата:
|
| Часовой пояс GMT +3, время: 18:52. |