Голосование за лучший ответ
Яков Гото
Искусственный Интеллект
(321127)
1 год назад
Твое i на первой итерации равно 0... первая итерация пропускается (continue принудительно завершает цикл и начинает новую итерацию), i меняется... на второй проверке условие if равно false, следовательно цикл выполняет alert. Что тут не понятного?
1 % 2 = 1... 1 не равно 0... значит false... значит alert...
df df
Ученик
(111)
1 год назад
i%2 возвращает остаток при делении на 2. 1%2 = 1, 2%2=0, 10%5=0.
конкретно в твоем случаи если i делится на 2 без остатка, то есть четное то итерация пропускается
// если true, пропустить оставшуюся часть тела цикла
if (i % 2 == 0) continue;
alert(i); // 1, затем 3, 5, 7, 9
}
по моей логике идет так: 0 < 10 идем в 0 % 2 и там выходит ноль, почему этот ноль потом не выводится в алерте?
далее мы этот ноль идет в i++ и уже становится единицой и снова идем в 1 % 2 и там получается один, почему оно выводит?