как вернуться к началу цикла for в javascript



Может быть, это глупый вопрос, но есть ли способ вернуться к началу цикла?



Пример:



for(var i = 0; i < 5; i++) {

if(i == 3)
return;

alert(i);
}


На других языках можно было бы ожидать, что оповещение сработает 4 раза примерно так:



Alert (0);
оповещения(1);
тревога(2);
alert(4);



Но вместо этого функция немедленно завершается, когда i равно 3. Что это дает?

897   2  

2 ответов:

Используйте continue вместо return.

Пример: http://jsfiddle.net/TYLgJ/

for(var i = 0; i < 5; i++) {

    if(i == 3)
        continue;

    alert(i);
}
Если бы вы хотели полностью остановить цикл в этой точке, вы бы использовали break вместо return. Оператор return используется для возврата значения из выполняемой функции.

Редактировать: ссылки на документацию предоставлены @epascarello комментарии ниже.

Как бы то ни было, вы можете также обозначить их:

OUTER_LOOP: for (var o = 0; o < 3; o++) {
  INNER_LOOP: for (var i = 0; i < 3; i++) {
    if (o && i) {
      continue OUTER_LOOP;
    }
    console.info(o, ':', i);
  }
}

Выходы:

0 : 0
0 : 1
0 : 2
1 : 0
2 : 0

Comments

    Ничего не найдено.