2011-09-17 12 views
0

特定の関数が呼び出される前に条件が真であるかどうかを調べる関数を用意したいと思います。私の目標は、別の関数で1行のコード(関数が呼び出される)を持つことです。この関数は、他のコードが実行される前に実行する必要があります。ここで私が言いたいことを証明するためにいくつかの擬似コードは次のとおりです。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

ありあなたが望むもののために特別に設計され何もないですし、そのとにかく悪い習慣にvergingを。あなたが何をしようとしているが、この場合には

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

これは返品をどのような条件で実行しますか?正しいか間違っているか? –

+0

'aFunction'は' checkFunction() 'が' false'を返すとすぐに戻ります。 'checkFunction()'が 'true'を返すときにすぐに返るようにするには、単に'! 'を削除してください。 – adpalumbo

+0

これは、要素に作成した属性からブール値を取得しています。このようなもの: '

-content-
'は属性値を文字列またはブール値として読み込みますか?私が尋ねる理由は、それが真か偽であってもコードを実行しているからです。 –

0

あなたはassert様の機能をしたいが、ラウンド後、他の方法があります

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

このメソッドはどのような条件でtrue、falseを返しますか? –

+0

@Felipe: 'checkFunction()'が 'false'と評価される値を返すとき。 –

0

:あなただけのような何かを書くことで、それはかなり簡潔得ることができる。しかしaFunction(でリターンを使用せずに

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

)、あなたが行うことができますこの:あなただけの「undefined_var /未定義」のような何かを終了する必要がある場合

function aFunction() 
{ 
    if(!checkFunction()) 
    { 
     //somecode 
    } 
} 
関連する問題