Для каждого цикла запишите, какие значения он выведет. Потом сравните с ответом.
var i = 0; while (++i < 5) alert(i);
var i = 0; while (i++ < 5) alert(i);
Решение
Решение
- От 1 до 4
var i = 0; while (++i < 5) alert(i);
Первое значение -i=1, так как первым выполнится сравнение++i < 5. При этомiбудет уже увеличена до1.Далее
2,3,4..Значения выводятся одно за другим. Для каждого значения сначала происходит увеличение, а потом — сравнение, так как++стоит перед переменной.При
i=4произойдет увеличениеiдо5, а потом сравнениеwhile(5 < 5)— неверно. Поэтому на этом цикл остановится, и значение5выведено не будет. - От 1 до 5
var i = 0; while (i++ < 5) alert(i);
Первое значение -i=1, по той же причине.Далее
2,3,4..Для каждого значения сначала происходит сравнение, а потом — увеличение, так как++стоит после переменной.При
i=4произойдет сравнениеwhile(4 < 5)— верно, после этого сработаетi++, увеличивiдо5, так что значение5будет выведено.
#353