Page 52 - 6105
P. 52
використовувати в операторі '?'. До таких відносяться більшість конструкцій і,
зокрема, break / continue. Тому такий код призведе до помилки:
(I> 5)? alert (i): continue;
Втім, як уже говорилося раніше, оператор '?' не варто використовувати
таким чином. Це - всього лише ще одна причина, чому для перевірки умови
кращий if.
Буває потрібно вийти одночасно з декількох рівнів циклу.
Наприклад, всередині циклу по i знаходиться цикл по j, і при виконанні
деякої умови необхідно вийти з обох циклів відразу:
outer: for (var i = 0; i <3; i ++) {
for (var j = 0; j <3; j ++) {
var input = prompt ( 'Значення в координатах' + i +
',' + j, '');
// якщо скасування введення або порожній рядок -
// завершити обидва цикли
if (! input) break outer; // (*)
}
}
alert ( 'Готово!');
У коді вище для цього використана мітка.
Мітка має вигляд "ім'я:", ім'я має бути унікальним. Вона ставиться перед
циклом, ось так:
outer: for (var i = 0; i <3; i ++) {...}
Можна також винести її на окремий рядок:
outer:
for (var i = 0; i <3; i ++) {...}
51