Использование «return» вместо «else» в JavaScript - PullRequest
20 голосов
/ 30 ноября 2009

Я работаю над проектом, который требует довольно сложной обработки JavaScript. Это включает в себя множество вложенных if - else s в довольно многих местах. Обычно я старался максимально оптимизировать код JavaScript, читая другие советы по переполнению стека, но мне интересно, будут ли две следующие конструкции иметь какое-либо значение с точки зрения скорости:

if(some_condition) {
    // process
    return ;
}

// Continue the else condition here

против

if(some_condition) {
    // Process
}

else {
   // The 'else' condition...
}

Ответы [ 13 ]

0 голосов
/ 30 ноября 2009

Предположим, что return занимает 1 мс, а вложенное if - 0,1 мс (или наоборот).

Трудно представить, чтобы кто-то был настолько медленным.

Теперь, вы делаете это более 100 раз в секунду?

Если это так, возможно вам следует позаботиться.

0 голосов
/ 30 ноября 2009

Насколько я понимаю, это не будет иметь значения, потому что вы переходите с условием if. Итак, если some_condition имеет значение true, остальная часть не будет затронута, даже без возврата.

0 голосов
/ 30 ноября 2009

Проверьте сами. Если этот JavaScript выполняется в браузере, он почти наверняка будет зависеть от механизма синтаксического анализа JavaScript в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...