Досрочный выход из функции?

У меня есть функция:

function myfunction() {
  if (a == 'stop')  // How can I stop the function here?
}

Есть ли в JavaScript что-то похожее на exit()?

Комментарии к вопросу (6)
Решение

Вы можете просто использовать 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;
Комментарии (8)

Видимо, вы можете сделать это:

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

Я могу'т вижу никаких минусов пока. Но это вовсе'т, кажется, как общего пользования.

Полученный ответ: https://stackoverflow.com/questions/1361437/javascript-equivalent-of-phps-die

Комментарии (1)

Это:

function myfunction()
{
     if (a == 'stop')  // How can I stop working of function here?
     {
         return;
     }
}
Комментарии (0)
function myfunction() {
     if(a == 'stop') 
         return false;
}

возвращает false; это гораздо лучше, чем просто возвращение;

Комментарии (2)

Используя немного другой подход, вы можете использовать Поймай, с бросить заявление.

function name() {
    try {
        ...

        //get out of here
        if (a == 'stop')
            throw "exit";

        ...
    } catch (e) {
        // TODO: handle exception
    }
}
Комментарии (0)

Если вы ищете скрипт для предотвращения отправки формы при обнаружении некоторых ошибок, этот метод должен сработать

function verifyData(){
     if (document.MyForm.FormInput.value.length == "") {
          alert("Write something!");
     }
     else {
          document.MyForm.submit();
     }
}

измените тип Submit Button на "кнопку"

<input value="Save" type="button" onClick="verifyData()">

надеюсь, это поможет.

Комментарии (0)

С помощью возвращение будет остановить функцию и возвращать undefined, или значение, заданное с помощью команды возврата.

function myfunction(){
    if(a=="stop"){
        //return undefined;
        return; /** Or return "Hello" or any other value */
    }
}
Комментарии (0)

Я не люблю отвечать на вещи, которые арен'т реальное решение...

...но когда я столкнулся с этой же проблемой, я сделал ниже Решение:

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)
  }
}

Надеюсь, что это может быть полезно для кого-либо.

Комментарии (3)

выход(); можно использовать для перехода к следующей проверке.

Комментарии (1)

Если вы с помощью jQuery. Это должно остановить функцию от восходящей до такой родительской функцией вызова это должно остановить, а также.

  function myfunction(e)
  {
       e.stopImmediatePropagation();
       ................
  }
Комментарии (1)

тип любой случайной команды, которая выдает ошибку, например:

exit

или

die:-)
Комментарии (2)