Заметка о циклах и вопрос


В javascript есть странная особенность цикла for связанная с массивами.

const arr = [
console.log(0),
console.log(1)
]
for(let i =0 ;i<=arr.length;i++){
} //выведет 0,1

Причем эта только эта конструкция может выполнять функции с побочным эффектом внутри массива ,for of выдаст результат выполнения то есть undifined. Кто знает как это вообще работает - магия какая-то.

P.S . По моему подобное использование массивов выглялит странно.


Comments 5


Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
andrey1986, niiu, dimarss, roman-nikitin, sevaev, olgataul, kinoshka, archual, alena4e
Поэтому я тоже проголосовал за него!

Так как Вы голосуете за мои посты, я проголосовал на 50% сильнее!


dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:

15.06.2018 00:52
0

@niiu, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:

  • Голосов - 8 позицию - 52 Голосов
16.06.2018 06:35
0

И что странного то?

console.log('ЗНАЧЕНИЕ') - выводит в лог ЗНАЧЕНИЕ и возвращает undefined.

Внутри цикла у вас абсолютно ничего не происходит кроме инкремента счетчика. А массив после создании имеет такой вид [undefined, undefined]

Представленный код просто набор бесполезных инструкций, работающих точно по спецификации))

17.06.2018 09:46
0

Что - то я не понимаю тогда, почему функция то выполняется.
У меня null, null, это наверное от интерпретора зависит.

18.06.2018 08:45
0
My pageSettingsLogout
Cancel Confirm
100%
Cancel Confirm
Cancel Confirm