10.10.2014, 14:33
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
На 2 цикла можно и var написать, а 10 циклов в одной функции не круто (пока не столкнулся с потребностью)
|
for (let i = 0; i < 10; i++) {
var someVal;
if (...) {
someVal = true;
}
if (someVal ) {
...
}
}
Неужели ты не видишь ошибки в этом коде? С let someVal на каждой итерации инициализируется занова с undef, а с var нет и нужно делать это явно, а это легко забыть и получаем сложно отлаживаемую багу.
Цитата:
|
Парсеры писал, плясок с графами / векторами нет. (хотя если под вектором ты имеешь ввиду array то писал).
Там же обычно вложенности, если не вложенность то это уже отдельная операция и ее можно вынести в другую функцию.
|
Очень удобно использовать сложенные циклы и прыжки по меткам, а из итераторов мне известен только одна либа которая умеет делать похожие вещи - Collection.
Последний раз редактировалось kobezzza, 10.10.2014 в 14:36.
|
|
10.10.2014, 14:38
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
но функция это тоже, по сути, блок.. let костыль, получается так, но мне он не очень нужен.
|
Тоже, да не тоже Не упрямся и послушай более опытных коллег по цеху: let - это добро
|
|
10.10.2014, 14:59
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
kobezzza,
Лааадна)))) Я возьму на заметку, но стоит проверить)
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 10.10.2014 в 15:05.
|
|
10.10.2014, 15:03
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
с var нет и нужно делать это явно, а это легко забыть и получаем сложно отлаживаемую багу.
|
А можно и не делать, тогда невозможно забыть
Флаги true or false никаких undefined. Разве не лучше думать так? Делать var внутри цикла - зло, разве нет? Считаю что более наглядно сразу присваивать переменной значение внутри цикла, по крайней мере сразу виден тип переменной.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
10.10.2014, 15:06
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Флаги true or false никаких undefined.
|
Мне приходилось так делать, пока я не стал юзать ES6 и сейчас мне вполне комфортно.
Цитата:
|
Делать var внутри цикла - зло, разве нет?
|
А что тебя смущает? Я не вижу ни одной причины так не делать.
|
|
10.10.2014, 15:10
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
А что тебя смущает?
|
Меня смущает, что переменная объявляется внутри for, в ES6 понятно, но в ES5 то она будет жива после цикла и ее наличие меня беспокоит, если в начале её не описано. Призрак же.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
10.10.2014, 15:15
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от Gozar
|
Меня смущает, что переменная объявляется внутри for, в ES6 понятно, но в ES5 то она будет жива после цикла и ее наличие меня беспокоит, если в начале её не описано. Призрак же.
|
Ну, ещё один плюс в сторону let Хотя с точки зрения VM по барабану, т.к. сборка мусора не осуществится сразу в любом случае.
|
|
10.10.2014, 16:37
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
|
|
10.10.2014, 18:29
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Пользователи Mac OS чемпионы по попаданию мышкой в маленькие значки
зона клика для смены статуса в лучших традициях
|
|
10.10.2014, 21:23
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Octane, минимализм
|
|
|
|