[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 레이블을 사용하여 블록 범위를 참조하십시오.

아직 단점이 없습니다. 그러나 일반적인 용도는 아닙니다.

이 답변을 도출 : PHP의 주사위와 동등한 JavaScript


답변

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

return false; 그냥보다 훨씬 낫다 return;


답변

이:

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


답변

조금 다른 접근 방식을 사용 try catch하면 throw 문과 함께을 사용할 수 있습니다 .

function name() {
    try {
        ...

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

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


답변

오류가 발견되었을 때 양식을 제출하지 않도록 스크립트를 찾고 있다면이 방법이 효과가 있습니다.

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

변경 버튼 제출 “버튼”을 유형

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

이 도움을 바랍니다.


답변

a return를 사용 하면 함수가 중지되고 return undefined또는 return 명령으로 지정한 값이 반환됩니다.

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