2016-05-03 19 views
-7

ループを作成することは可能ですが、for、for、doのようなJavascriptループは組み込まれていませんか?また、私はメモリを節約するために再帰を避けたいと思います。Javascript - 関数を使ってループを作ることは可能ですか?

私はそれが巧みに関数を呼び出すことを想像して、それが脱落してから条件が満たされるまでそれを再び呼び出すことを想像します。

編集:

var i = 0; 
var condition = false; 
function loop() { 
    i++; 
    if (i >= 3) { 
     condition = true; 
    } 
} 
loop(); //somehow keep calling until condition is met. 
+0

関数を呼び出すには、終了してからもう一度呼び出す必要があります。ループが必要です。 – ssube

+0

'array.forEach()'のような意味ですか? – Barmar

+0

または、他の言語の発電機のようなものについて質問していますか? – Barmar

答えて

1

例を追加ここでは、再帰的なタイマー機能をいくつかのコードを繰り返すことができます方法は次のとおりです。

(最適化された非尾)に反して
(function repeat(n){ 
    if (!n) return; 
    console.log("do something"); 
    setTimeout(repeat, 0, n-1); 
})(4); 

再帰、何の累積メモリー消費量がありませんここに。 この種の構文は、場合によっては役に立ちます。しかし、forwhileのキーワードを避けるだけでは、それらの1つにはなりません。

+0

これは、再帰の教科書の例のようです。 –

+1

質問から:*「メモリを節約するために再帰を避けたい」* – Blender

+0

これは私が探していたものです。累積的なメモリ消費なしに再実行する関数が必要でした。 – ewack

関連する問題