2011-03-09 5 views
1

У меня есть цикл в Javascript, я хочу запустить console.log() в конкретной итерации, а затем закончить. Каков наилучший способ сделать это?Как закончить выполнение Javascript, выход из/exit/die/fatal assertion и т. Д.?

Я что-то вроде желания в Perl

die Dumper \@foo; 
+1

возможно дубликат [JavaScript эквивалент фильеры в PHP] (http://stackoverflow.com/questions/1361437/javascript-equivalent-of-phps-die) –

ответ

1

вы имеете в виду завершить цикл?

while(true) { 
console.log() 
if(condition) {break}; 
} 

команда break выходит из цикла

, но нет kill или exit функции в JavaScript.

+0

Это только завершает цикл, хотя ... –

+0

Я написал это ... –

2

Вы можете бросить исключение:

throw "Help I have fallen and cannot get up"; 

Не совсем то же самое, но (по моему опыту) это не слишком часто, чтобы увидеть обработку исключений в обычных DOM-пререканий видов кода JavaScript, так что обычно будет выдувать из любого цикла событий. Однако на самом деле это не то же самое, что любой окружающий блок try поймает то, что вы бросаете.

0

Поскольку JavaScript основан на событиях, сценарий не контролирует, когда он завершается - нет die или exit.

Если это не один уже, лучшим вариантом является рефакторинг кода в функцию, вы можете return из, или использовать именованный блок:

foo: { 
    // do work 
    break foo; 
    // not executed; 
}