Использование разных букв в контексте переменной цикла - Javascript - PullRequest
0 голосов
/ 13 октября 2018

У меня есть несколько for loops в документе, упрощенный пример их использования будет:

for (var i=0; i < element.length; i++) {
   element[i];
}

Я где-то читал, что лучше использовать разные имена переменных для разных экземпляров цикла, т.е. вместоi используйте j и т. Д.

Поскольку в сценарии у меня довольно много циклов, становится все труднее читать разные буквы при просмотре материала.

Если переменная находится в круглых скобках, будет ли это нормально, чтобы по-прежнему использовать i для всех из них?У меня нет глобальных переменных с именем i.

Я не могу использовать let, потому что мой босс хочет сохранить его на var и не использовать babel и т. Д.

Спасибозаранее за любой совет.

Эм

Ответы [ 3 ]

0 голосов
/ 13 октября 2018

Переменные не будут локально ограничены, если вы используете var.Поэтому, в зависимости от того, как вы инициализируете, вы можете столкнуться с проблемами.Но если позволите, давайте сделаем шаг назад ...

Если вы делаете несколько циклов для одного и того же файла, не нарушаем ли мы принцип СУХОГО (не повторяйте себя)?Есть ли способ, которым мы можем использовать встроенную функцию, такую ​​как forEach или map?Или мы можем абстрагировать, что эти циклы делают в нашей собственной пользовательской функции?

Я думаю, что это будет полезно изучить.Но короткий ответ: у вас могут возникнуть проблемы в зависимости от того, как вы инициализируете переменную i в ваших циклах for.

Чистый код важен.Это делает нашу жизнь проще!

Надеюсь, это поможет!

0 голосов
/ 13 октября 2018

Если вы зацикливаете массивы, используйте .map вместо forEach.Прочитайте статью, почему я рекомендую это https://codeburst.io/javascript-map-vs-foreach-f38111822c0f?gi=8024d1c18f31

0 голосов
/ 13 октября 2018

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

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