В JavaScript, у меня возникают проблемы с пониманием, почему эти два набора кода обеспечивают разные результаты:Различные результаты с оператором после приращения в течение цикла
for (var i = 0, a = []; i++ < 9;) {a.push(i);}
После выполнения этого кода, переменная a
следующая : [1, 2, 3, 4, 5, 6, 7, 8, 9]
.
Однако этот код возвращает что-то другое:
for (var i = 0, a = []; i < 9; i++) {a.push(i);}
Вместо переменной a
следующая после выполнения этого кода: [0, 1, 2, 3, 4, 5, 6, 7, 8]
Итак, главный вопрос: Почему это так?
Спасибо за любые ответы, объясняющие эту разницу.
В первом случае приращение происходит до нажатия и после проверки на <9. Следовательно, вы получаете числа от 1 до 9. Во втором коде значение i увеличивается только после первого запуска, а проверка на <9 выполняется после приращения. –
Вы можете посмотреть на выражение цикла for на http://www.w3schools.com/js/js_loop_for.asp –