Объявление i
с var
вне цикла не повлияет на производительность из-за подъема переменной в JS.
Однако приписывание длины массива переменной l
повышает производительность по сравнению с for (i = 0; i < arr.length; i++) {
, поскольку нет необходимости обращаться к свойству length
каждый оборот цикла.
ПРИМЕЧАНИЕ , что вы также можете использовать этот синтаксис, поскольку первая часть объявления for
выполняется только один раз: for (var i = 0, l = arr.length; i < l; i++) {
ТАКЖЕ Я лично предпочитаю объявить это вне цикла, потому что люди, которые не очень хорошо знают JS, могут поверить, что var
ограничен циклом for
, что не так. (по сравнению с let
). Смотрите также комментарий CertainPerformance.