break
Завершает текущий цикл или конструкции switch и 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 должен находится внутри помеченного оператора, чтобы прервать его управление.
|
У Вас в коде похоже markdown не работает (видимо так метка и break должны выделяться bold'ом во втором примере).
не работает
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;
}
}
}
}
Если я не ошибаюсь, то break работает, но заканчивает работу блока функции в которой он находится, т.е. прекращает работу onmouseup, а не onload.