Я подписался на курс по основам JS, организованный Флавио Копесом. Каждый день Флавио рассылает участникам электронные письма с парой вопросов/задач. Всего должно быть 35 писем. Отвечать на них не обязательно, но ответы на вопросы являются важной частью курса. Поэтому я решил поделиться своими ответами с миром: в лучшем случае это может помочь кому угодно, кроме меня, в худшем — только мне.

Расскажите мне обо всех способах создания цикла в JavaScript. Пришлите мне несколько примеров циклов.

В JS есть 5 основных циклов: FOR, DO…WHILE, WHILE, FOR…IN, FOR…OF. Кроме того, у нас есть метод массива .FOREACH.

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

ЗА

ДЕЛАТЬ… ПОКА / ПОКА

ДЛЯ…В / ДЛЯ…ИЗ

ДЛЯ КАЖДОГО

Объясните своими словами, как «немедленно вызываемые функциональные выражения» могут помочь, когда речь идет об использовании индекса цикла внутри функции, внутри цикла. Почему мы должны оборачивать их в дополнительную функцию?

IIFE может помочь сохранить момент, когда глобальная переменная равна определенному значению. НО! Есть нюанс. Чтобы сохранить значение, IIFE должен возвращать не само значение, а функцию с этим значением. Весь этот трюк основан на концепции замыкания, но мы еще не рассмотрели ее :)