Javascript.RU

break

Завершает текущий цикл или конструкции switch и label и передает управление на следующий вызов

Синтаксис

break [label]

Аргументы

label
Идентификатор метки, которой помечен прерываемый оператор/конструкция. Не обязательно для циклов и switch

Описание, примеры

Пример: простой пример
for(i=0; i<10; i++) {

    if (i==5) break;

}
alert(i) // 5

В языке javascript оператор break дает возможность прерывать выполнение сразу на несколько уровней. Для этого используется метка label:

top:
for(i=0; i<10; i++) {
  for(j=0; j<15; j++) {
    if (i==5 && j==5) break top;
  }
}
alert(j+i); // 10

Помеченным может быть не только цикл/switch, но и блок:

top: 
{
  a=5
  break top
  a=10
}
alert(a); // 5

Единственное ограничение и отличие break от не существующего в javascript goto: вызов break должен находится внутри помеченного оператора, чтобы прервать его управление.

См. также


Автор: kurokikaze, дата: 23 июня, 2010 - 18:26
#permalink

У Вас в коде похоже markdown не работает (видимо так метка и break должны выделяться bold'ом во втором примере).


Автор: BRIGSS, дата: 9 февраля, 2015 - 23:53
#permalink

не работает
var xp=300, yp=650;
window.onload = function() {

var drawingCanvas = document.getElementById('smile');

var canvas=document.getElementById("smile")
var x=canvas.getContext("2d");

hiddenImg= new Image();
hiddenImg.src= "tank1.jpg";

x.drawImage(hiddenImg,xp,yp);
document.getElementById('left').onmousedown =function() {
while(true){
xp--;
x.drawImage(hiddenImg,xp,yp);
document.getElementById('left').onmouseup =function() {
break;
}
}
}
}


Автор: Гость (не зарегистрирован), дата: 12 ноября, 2015 - 18:01
#permalink

Если я не ошибаюсь, то break работает, но заканчивает работу блока функции в которой он находится, т.е. прекращает работу onmouseup, а не onload.


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum