Задать вопрос
Nikulio
@Nikulio
NaN !== NaN

Какой смысл в метках?

Доброй ночи
Вот, есть такой код
mainloop: while(token != null) {
    // Про грамм ный код опу щен...     
     continue mainloop; 
     // Пе ре ход к сле дую щей ите ра ции име но ван но го цик ла    
      // Про грамм ный код опу щен...
}


И такой код :
while(token != null) {
    // Про грамм ный код опу щен...     
     continue; 
     // Пе ре ход к сле дую щей ите ра ции име но ван но го цик ла    
      // Про грамм ный код опу щен...
}


Какая между разница?И зачем вообще метки нужны?Часто ли их используют?
PS: В первом коде он начнет цикл с начала или продолжит его?
Спасибо
  • Вопрос задан
  • 367 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
evgeniy8705
@evgeniy8705
Повелитель вселенной
Какая между разница?
В ваших примерах разницы нет.
И зачем вообще метки нужны?
Используют если есть вложенность одного цикла в другой. Прекратить итерацию внутреннего цикла и перейти к следующей итерации внешнего.
Часто ли их используют?
Нет
Ответ написан
Комментировать
вот вам синтетический и глупый пример:
outerLoop: for(var i = 0; i < 10; i++){
	for(var j = 0; j < 10; j++){
		if(i > 5 && i % 2 == 0){
			break outerLoop;
		}
	}
}

в этом случае прервется внешний цикл (по i). если не использовать метку цикла вместе с брейком, то прервется только внутренний цикл (по j)

метки используются очень редко и обычно их использоание считается дурным тоном, но если без них уж прям никуда и они дейсвительно облегчают понимание кода и уменьшают его количество, то можно, но с осторожностью.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы