Каковы различия этих итераций? - PullRequest
2 голосов
/ 22 сентября 2011

В чем различия этих итераций:

var recordId;
for(recordId in deleteIds){
  ...
}

и

for(var recordId in deleteIds){
  ...
}

Там написано неявное определение (что это), есть ли разница в производительности между ними?

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

эти два примера эквивалентны, однако первый может быть получен из следующего рекомендуемого шаблона в JavaScript, который объявляет все переменные в верхней части каждой функции.

Пример:

var recordId,
    i = 0;

for(recordId in deleteIds){
  ...
  i++;
}

Подробнее об этом можно узнать здесь Ошибка JSLint: переместить все объявления 'var' в начало функции

1 голос
/ 22 сентября 2011

«Неявное объявление» - это переменная, которой присваивается значение до ее объявления с использованием var.Сценарий оставляет переменную, объявленную в максимально возможной области («глобальной» области видимости).

Однако в обоих примерах кода recordId объявляется до назначения (var recordId), поэтомунет проблем.

Что касается вашего другого вопроса, нет, заметной разницы в производительности нет.

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