Перерывы могут фактически иметь метки (и принимать их).Тем не менее, я не уверен, кто такой «Он», но я бы зашел так далеко, чтобы сказать, что «Он» передает его идеалы программирования, а не конкретный стандарт.То есть, нет необходимости использовать ярлыки, это просто делает его более разборчивым для конкретного человека.(И, ИМХО, ярлыки напоминают дни ОСНОВНОГО / ГОТОГО, которые обычно приводят к Коду спагетти ).
Дополнительный кредит: Спросите своего друга, если он писал в БЕЙСИК;Могу поспорить, что вы получите «да» (наряду с множеством вредных привычек на протяжении курса - это не относится к профилю, у меня просто никогда не было хорошего опыта работы с программистами на BASIC / VB после [текущего]] шаблоны кодирования))
Команда break
обычно используется для выхода из циклов, однако, если кодовый блок вложен в метку, вы создаете еще один блок, из которого вы можете разбить.Это также дает вам больше гибкости в отношении того, откуда должен выходить перерыв.Например:
for (;;){ // "for a"
for(;;){ // "for b"
break; // breaks "for b"
}
}
В этом случае break
предназначен только для выхода из вложенного («для b») цикла.Однако:
myblock: {
for(;;){
for(;;){
break mybock; // breaks label "myblock"
}
}
}
В этом случае break фактически выходит из обоих циклов, потому что вы указываете ему полностью выйти из блока меток.Это было бы почти как:
function myblock(){
for(;;){
for(;;){
return; // exits function "myblock"
}
}
}
Где return
выходит из блока, аналогично тому, как действует break myblock
.
Кстати, не зря, янайти это немного легче читать:
var again = true;
while (again){
var num = (new Date()).getMilliseconds() % 100,
guess = +prompt("I'm thinking of a number between 0 and 100. Try to guess it.", "1"),
guesses = 1;
while (num !== guess){
guesses++;
guess = +prompt((guess < num ? "Too low." : "Too high.") + " Try again.", guess);
}
alert("You got it in " + guesses + " guesses! The number is " + num);
again = prompt("Do you want to guess again? (y/n)", "y") == "y";
}