4

同じ関数内から呼び出す関数を再起動するにはどうすればよいですか?

4

3 に答える 3

11

関数をもう一度呼び出してから、次のように戻ります。

function myFunction() {
  //stuff...
  if(condition) {
    myFunction();
    return;
  }
}

もちろん、そのif部分はオプションです。ここでの正確なアプリケーションについてはわかりません。戻り値が必要な場合は、次のように 1 行です。return myFunction();

于 2010-05-31T00:42:17.907 に答える
3

Arguments.callee の代わりに名前付き関数を使用することをお勧めします。これはまだ有効ですが、将来的には廃止されるようです。

// Named function approach
function myFunction() {
    // Call again
    myFunction();
}

// Anonymous function using the future deprecated arguments.callee
(function() {
    // Call again
    arguments.callee();
)();
于 2010-05-31T00:42:55.503 に答える
1

再帰のことですか?

function recursion() {
    recursion();

}

また

var doSomething = function recursion () {
     recursion();   
}

この名前付き無名関数の使用は、IE の長年にわたるバグのため、お勧めできません。ラークに感謝します。

もちろん、これはほんの一例です...

于 2010-05-31T00:42:30.187 に答える