Технически вы можете разместить любое выражение, которое вы хотите в конечном выражении цикла for, но оно обычно используется для обновления переменной счетчика.
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
Вы можете написать почти любое выражение для INIT, TEST, ADVANCE и BODY.
Обратите внимание, что операторы и варианты ++ являются операторами с побочными эффектами (следует избегать их, если вы не используете их как i+=1 и т.п.):
++i означает i+=1; return i
i++ означает oldI=i; i+=1; return oldI
Пример:
> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
Ответ 4
Ответ Эндрю Уайткера верен, но вы можете использовать любое выражение для любой части.
Просто помните, что второе (среднее) выражение должно оцениваться, поэтому его можно сравнить с логическим true или false.
var i = 0;
while( i < 10 ) {
/* expression */
++i;
}
Ответ 5
Вы, конечно, можете. Другие правильно указали, что вам нужно сделать i += 3. Вы не можете делать то, что вы разместили, потому что все, что вы делаете, добавляет i + 3, но не возвращает результат обратно в i. i++ является просто сокращением для i = i + 1, аналогично i +=3 является сокращением для i = i + 3.