Я просто нарисовал код JavaScript, используя JSHint. В коде у меня есть два for-loops, которые используются так:
for (var i = 0; i < somevalue; i++) { ... }
Итак, оба for-loops используют var я для итерации.
Теперь JSHint показывает мне ошибку для второго цикла for: "'i' уже определен". Я не могу сказать, что это неверно (потому что это очевидно), но я всегда думал, что это не имеет значения, поскольку var я используется только в этом конкретном месте.
Является ли это плохой практикой для использования for-loops таким образом? Должен ли я использовать другую переменную для каждого цикла for в моем коде, например
//for-loop 1
for (var i = 0; ...; i++) { ... }
//for-loop 2
for (var j = 0; ...; j++) { ... }
Или это на e ошибок, которые я могу игнорировать (потому что он не нарушает мой код, он все еще делает то, что он должен делать)?
JSLint btw. останавливает проверку в первом цикле for, потому что я не определяю var я в верхней части функции (поэтому я переключился на JSHint в первую очередь). Итак, в соответствии с примером в этом вопросе: Должен ли я использовать проверку JSLint или JSHint JavaScript? - Я должен использовать for-loops, подобные этому, для подтверждения JSLint:
...
var i;
...
//for-loop 1
for (i = 0; ...; i++) { ... }
...
//for-loop 2
for (i = 0; ...; i++) { ... }
Это также выглядит хорошо для меня, потому что таким образом я должен избегать ошибок в JSLint и JSHint. Но я не уверен, что если я буду использовать другую переменную для каждого цикла for-loop следующим образом:
...
var i, j;
...
//for-loop 1
for (i = 0; ...; i++) { ... }
//for-loop 2
for (j = 0; ...; j++) { ... }
Итак, есть ли лучшая практика для этого или я могу просто пойти с любым из приведенных выше кодов, а это значит, что я выбираю "свою" лучшую практику?