У меня есть функция:
function myfunction() {
if (a == 'stop') // How can I stop the function here?
}
Есть ли что-то вроде exit()
в JavaScript?
У меня есть функция:
function myfunction() {
if (a == 'stop') // How can I stop the function here?
}
Есть ли что-то вроде exit()
в JavaScript?
Вы можете просто использовать return
.
function myfunction() {
if(a == 'stop')
return;
}
Это отправит возвращаемое значение undefined
во все, что называется функцией.
var x = myfunction();
console.log( x ); // console shows undefined
Конечно, вы можете указать другое возвращаемое значение. Независимо от того, какое значение возвращается, будет записываться в консоль, используя приведенный выше пример.
return false;
return true;
return "some string";
return 12345;
Очевидно, вы можете это сделать:
function myFunction() {myFunction:{
console.log('i get executed');
break myFunction;
console.log('i do not get executed');
}}
См. блок-области с помощью метки: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
Я пока не вижу недостатков. Но это не похоже на обычное использование.
Получил этот ответ: JavaScript-эквивалент PHPs
Это:
function myfunction()
{
if (a == 'stop') // How can I stop working of function here?
{
return;
}
}
function myfunction() {
if(a == 'stop')
return false;
}
return false; намного лучше
Используя немного другой подход, вы можете использовать try catch
с инструкцией throw.
function name() {
try {
...
//get out of here
if (a == 'stop')
throw "exit";
...
} catch (e) {
// TODO: handle exception
}
}
если вы ищете script, чтобы избежать отправки формы при обнаружении некоторых ошибок, этот метод должен работать
function verifyData(){
if (document.MyForm.FormInput.value.length == "") {
alert("Write something!");
}
else {
document.MyForm.submit();
}
}
измените тип Отправить на "button"
<input value="Save" type="button" onClick="verifyData()">
надеюсь, что эта помощь.
Использование return
остановит функцию и вернет undefined
или значение, указанное вами с помощью команды return.
function myfunction(){
if(a=="stop"){
//return undefined;
return; /** Or return "Hello" or any other value */
}
}
Выход(); может использоваться для следующей проверки.
Мне не нравится отвечать на вещи, которые не являются реальным решением...
... но когда я столкнулся с этой же проблемой, я сделал ниже обходной путь:
function doThis() {
var err=0
if (cond1) { alert('ret1'); err=1; }
if (cond2) { alert('ret2'); err=1; }
if (cond3) { alert('ret3'); err=1; }
if (err < 1) {
// do the rest (or have it skipped)
}
}
Надеюсь, это может быть полезно для всех.
Если вы используете jquery. Это должно остановить функцию от пузырьков до так, чтобы родительская функция, вызывающая это, также остановилась.
function myfunction(e)
{
e.stopImmediatePropagation();
................
}
введите любую случайную команду, которая выдает ошибку, например:
exit
или
die:-)