2011-09-17 3 views
0

특정 함수가 호출되기 전에 조건이 true인지 확인하는 함수가 필요합니다. 내 목표는 다른 함수에서 한 줄의 코드 (함수가 호출 됨)를 갖는 것입니다. 이 함수는 다른 코드가 실행되기 전에 실행되어야합니다. 여기에 내가 무엇을 의미하는지 설명하는 몇 가지 의사 코드입니다 :JavaScript에서 다른 함수를 사용하여 함수를 끝내는 방법이 있습니까?

function checkFunction(){ 
//checks if a condition is true if so end function, else continue function 
} 
function aFunction(){ 
checkFunction(); 
//some code 
} 

내가 수익을 포함하는 조건문을 만들 수 있습니다 알고있다,하지만 난 가능하면이 짧은 그것을 유지하고 싶습니다.

시간 내 주셔서 감사합니다.

+0

, 시도에서 {} 잡기 {}를 감싸 라 P –

+0

그래서, 정확히 문제가 무엇인가? 시도해 봤니? – Bakudan

+0

간결함 대신 가독성을 고려하십시오. 도구를 사용하여 코드를 항상 축소 할 수 있으며 더 나은 작업을 수행 할 수 있습니다. –

답변

1

가 설계 아무것도 특별히 당신이 원하는 무엇을 없다, 그 어쨌든 나쁜 관행에 다가갑니다.

function aFunction() 
{ 
    if (!checkFunction()) return; 
    //some code 
} 
+0

반환 조건은 어떤 조건입니까? 참인가 거짓인가? –

+0

'checkFunction()'이'false'를 반환하면'aFunction'이 즉시 반환됩니다. 'checkFunction()'이'true'를 반환 할 때 즉시 반환하기를 원하면'! '만 제거하십시오. – adpalumbo

+0

요소에 생성 한 속성에서 부울 값을 가져 오는 중입니다. 다음과 같은 것 :'

-content-
'는 속성 값을 문자열이나 부울 값으로 읽습니까? 내가 묻는 이유는 true 또는 false인지 여부에 관계없이 코드를 실행하기 때문입니다. –

0

당신은 assert -like 기능을 원하지만, 수 후 다른 만능 방법 : 다음

function stopIfTrue(x) { 
    if(x === true) throw "stop function"; // can be any string 
} 

과 :

function aFunction(){ 
    stopIfTrue(something); // if 'something' is true an error will be thrown; function will exit 
    //some code 
} 
0

동적으로 다른 기능을 변화 할 수있는 트릭. 그래서

function make_wrapped(before, after){ 
    return function(){ 
     if(before()) return; 
     after.apply(this, arguments); 
    } 
} 

//set aFunction to be the new function 
aFunction = make_wrapped(checkFunction, aFunction); 

편집 : 내가 질문을 오해. 이것은 아마도 당신이 필요로하는 것보다 더 복잡한 방법 일 것입니다.

0

단순히 이런 짓을 했을까 :

function checkFunction(){ 
    return (condition); 
} 

function aFunction(){ 
    if(!checkFunction()) return; 
    //some code 
} 
+0

이 메소드는 어떤 조건에서 return, true 또는 false를 실행합니까? –

+0

@Felipe :'checkFunction()'이'false'로 평가되는 값을 반환 할 때. –

0

무엇 당신이하려는 것은이 경우 : :하지만 당신은 단지 같은 것을 작성하여 꽤 간결 얻을 수 aFunction()에서 반환을 사용하지 않고

function aFunction() 
{ 
    if(checkFunction()) 
    { 
     return; 
    } 
    //somecode 
} 

, 당신은 할 수 이 : 당신은 그냥 "/ 정의되지 않은 undefined_var"그런 짓을 종료해야하는 경우

function aFunction() 
{ 
    if(!checkFunction()) 
    { 
     //somecode 
    } 
} 
관련 문제