Ieșirea timpurie din funcție?

Am o funcție:

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

E ceva de genul exit() în JavaScript?

Comentarii la întrebare (6)
Soluția

Puteți folosi doar "returnare".

function myfunction() {
     if(a == 'stop') 
         return;
}

Acest lucru va trimite o valoare de întoarcere de "nedefinit" la ceea ce a numit în funcție.

var x = myfunction();

console.log( x );  // console shows undefined

Desigur, aveți posibilitatea să specificați o altă valoare de retur. Orice valoare este returnată va fi conectat la consola folosind exemplul de mai sus.

return false;
return true;
return "some string";
return 12345;
Comentarii (8)

Se pare că puteți face acest lucru:

function myFunction() {myFunction:{
    console.log('i get executed');
    break myFunction;
    console.log('i do not get executed');
}}

Vezi bloc domenii prin utilizarea de etichete: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

Pot't vedea orice dezavantaje încă. Dar nu't părea o utilizare comună.

Derivat acest răspuns: https://stackoverflow.com/questions/1361437/javascript-equivalent-of-phps-die

Comentarii (1)

Asta:

function myfunction()
{
     if (a == 'stop')  // How can I stop working of function here?
     {
         return;
     }
}
Comentarii (0)
function myfunction() {
     if(a == 'stop') 
         return false;
}

return false; este mult mai mult decât doar pentru a reveni;

Comentarii (2)

Folosind o abordare puțin diferită, puteți utiliza prins, cu arunce declarație.

function name() {
    try {
        ...

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

        ...
    } catch (e) {
        // TODO: handle exception
    }
}
Comentarii (0)

dacă sunteți în căutarea pentru un script pentru a evita depunerea formularului atunci când unele erori găsite, această metodă ar trebui să funcționeze

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

schimba Butonul Submit tip "butonul"

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

sper că acest ajutor.

Comentarii (0)

Folosind o "întoarcere" se va opri de funcția și de a reveni "nedefinit", sau valoarea pe care o specificați cu revenirea comanda.

function myfunction(){
    if(a=="stop"){
        //return undefined;
        return; /** Or return "Hello" or any other value */
    }
}
Comentarii (0)

Îmi displace răspunde la lucruri care nu sunt't o soluție reală...

...dar când m-am întâlnit aceeași problemă, am făcut mai jos soluție:

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

Sper că poate fi util pentru oricine.

Comentarii (3)

exit(); pot fi utilizați pentru a merge pentru următoarea validare.

Comentarii (1)

Dacă sunteți folosind jquery. Acest lucru ar trebui să ne oprim funcția de barbotare a astfel încât funcția de bază de asteptare acest lucru ar trebui să se oprească la fel de bine.

  function myfunction(e)
  {
       e.stopImmediatePropagation();
       ................
  }
Comentarii (1)

tastați orice întâmplare de comandă, care aruncă o eroare, de exemplu:

exit

sau

die:-)
Comentarii (2)