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, время: 09:07. |