Рассмотрим следующий код:
for (var i=0; i<100; i++) {
// your code here
}
// some other code here
for (var i=0; i<500; i++) {
// custom code here
}
Любой порядочный инструмент lint (jslint, jshint или встроенный IDE) сообщит предупреждение - duplicate declaration of variable i
. Это можно решить, используя переменную с другим именем (k
, j
) или перемещение объявления вверху:
var i; // iterator
for (i=0; i<100; i++) {}
for (i=0; i<500; i++) {}
Я не люблю оба варианта. Обычно я не делаю объявления наверху (и даже если бы я это сделал, мне бы не хотелось видеть вспомогательные переменные - i
, j
, k
) и на самом деле в этих примерах ничего плохого не происходит, чтобы изменить имена переменных.
Хотя мне действительно нужно огромное предупреждение, если я напишу что-то вроде этого:
for (var i=0; i<100; i++) {
for (var i=0; i<500; i++) {} // now that bad
}
Как вы относитесь к таким случаям?