0

ある機能を別の機能で停止することはできますか?

私はこのようなものが欲しい:

 function foo()
 {
   bar();
   /*if is ok, then continue, else break*/
 }

 function bar()
 {
   if(!/**condition**/) stop foo();
 }

私はこれが次のようなものを使用することで可能であることを知っています:

  function foo()
  {
    if(!bar()) return;
  }

しかし、もっと良い方法があるのではないでしょうか?

サンプル :

  var dk = new function() {
   this.doSomething() {
     this.em("some_id") || return;
   };

    this.em(data) { 
      return document.getElementById(data);
    };
  };
4

2 に答える 2

0

あなたはすでに自分自身に答えたと思います。

bar()関数は、必要なすべてのチェックまたはコードを作成してから、呼び出し元の関数に戻ることができtrueますfalsefoo()

戻り値に基づいて、コードの実行を続行するか停止するかを決定します。

于 2012-06-13T10:01:23.277 に答える
0

関数内で、呼び出し元の関数に実行を停止するように指示できませんでした。

あなたが提案した2番目のバージョンは、この動作を実現するための一般的な方法です。成功したtrue場合は関数を返し、失敗しfalseた場合は、呼び出し元の関数に何をすべきかを決定させます(つまり、実行を中断します)。

別のアプローチとして、例外をスローすることがあります。自分の状況で何がより役立つかを自分自身で検討する必要があります

于 2012-06-13T09:59:57.510 に答える