だから私はsetTimeout
とsetInterval
の間に違いがあることを知っているが、これらの2つのコード例を考えてみます。のsetTimeout再び
function myFunction(){
setTimeout('myFunction();', 100);
doSomething();
}
setTimeout('myFunction();', 100);
と
function myFunction(){
doSomething();
}
setInterval('myFunction();', 100);
注最初の例では、私はsetTimeout
を呼び出すこと機能の始まりで、次に私はdoSomething
です。したがって、doSomething()
から余分な遅延はありません。その2つの例が全く同じことを意味するのでしょうか?それとももっと微妙な違いがありますか?
後に実行が答えをいただき、ありがとうございます。もちろん、関数参照を使う方が良いです。しかし、これは私にアイデアを与えました。文字列で 'setTimeout'を実行すると、' setTimeout( 'myFunction(' + i + ');'、100); 'のように関数に変数を渡すことができます。この変数は 'myFunction'が(ローカルに)呼び出されるたびに評価されます。グローバル変数( 'myFunction'に渡されない)を除いて、' setInterval'でも同じことをする方法はありません。だから別の違いがあります。 – freakish
@freakish:真。私はそのようにはしませんが、文字列を使用すると、それは別の違いです。 –
+1よく書かれた&詳細な答え、良いTJのために行っていないうれしいよ:) – alex