Существуют ли другие способы увеличения цикла for в Javascript, кроме i++ и ++i? Например, я хочу увеличить на 3 вместо одного.
for (var i = 0; i < myVar.length; i+3) {
//every three
}
Существуют ли другие способы увеличения цикла for в Javascript, кроме i++ и ++i? Например, я хочу увеличить на 3 вместо одного.
for (var i = 0; i < myVar.length; i+3) {
//every three
}
Используйте оператор присваивания += :
for (var i = 0; i < myVar.length; i += 3) {
Технически вы можете разместить любое выражение, которое вы хотите в конечном выражении цикла for, но оно обычно используется для обновления переменной счетчика.
Для получения дополнительной информации о каждом шаге цикла for просмотрите статью MDN.
for (var i = 0; i < 10; i=i+2) {
// code here
}
A for loop:
for(INIT; TEST; ADVANCE) {
BODY
}
Означает следующее:
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
Вы можете написать почти любое выражение для INIT, TEST, ADVANCE и BODY.
Обратите внимание, что операторы и варианты ++ являются операторами с побочными эффектами (следует избегать их, если вы не используете их как i+=1 и т.п.):
++i означает i+=1; return ii++ означает oldI=i; i+=1; return oldIПример:
> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
Ответ Эндрю Уайткера верен, но вы можете использовать любое выражение для любой части.
Просто помните, что второе (среднее) выражение должно оцениваться, поэтому его можно сравнить с логическим true или false.
Когда я использую цикл for, я думаю об этом как
for (var i = 0; i < 10; ++i) {
/* expression */
}
как
var i = 0;
while( i < 10 ) {
/* expression */
++i;
}
Вы, конечно, можете. Другие правильно указали, что вам нужно сделать i += 3. Вы не можете делать то, что вы разместили, потому что все, что вы делаете, добавляет i + 3, но не возвращает результат обратно в i. i++ является просто сокращением для i = i + 1, аналогично i +=3 является сокращением для i = i + 3.