Мы с коллегой обсуждали хорошие/плохие практики использования ключевого слова var в циклах. Это мой путь:JavaScript: использование ключевого слова var внутри и снаружи циклов
for (var i = 0; i < anArray.length; i++) {
for (var j = 0; j < anotherArray.length; j++) {
var a1 = someValue1;
var a2 = someValue2;
var a3 = someValue3;
var a4 = someValue4;
var a5 = someValue5;
...... //Some other process that involve a1-5
}
}
Я вар внутри вложенных для петель. Предположим, что цикл i
работает в 2000 раз и j
для 3000 раз. Мой коллега утверждает, что с использованием var в циклах, подобных этим, является причиной утечки памяти, поэтому это плохая практика.Это правда?
Он говорит, что «var следует объявлять вне цикла, чтобы переменные были подвержены области действия и уничтожались при завершении области действия». Это правда?
Помимо вышеуказанных требований об утечке памяти, - это плохая практика, если да, то почему?
Я скептически отношусь к тому, что знаю (или, возможно, верю), используя var в цикле, a1-5 все равно уничтожается, когда эта функция заканчивается.
Неважно, где вы кладете ключевое слово 'var'. Переменные в Javascript всегда имеют область действия. – Barmar
Это уже ответила bee уже http://stackoverflow.com/questions/3684923/javascript-variables-declare-outside-or-inside-loop – Gpx
@Gpx thx. Это не пришло, когда я искал. Может быть, это потому, что я использую ключевое слово var в поиске :( – Mysteltainn