- ベストアンサー
即時関数で
即時関数(無名関数)でsetTimeoutを繰り返す方法はありますでしょうか?setIntervalではなく。 var testDo=function(){ setTimeout(function(){ 何かの処理 testDo(); //★実行されない },600); }(); //即時関数 即時なのでtestDoという名前も不要だと思いますが。。。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(function(){ 何らかの処理(); setTimeout(arguments.callee, 600); })(); 参考 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments/callee
その他の回答 (1)
- think49
- ベストアンサー率59% (285/482)
回答No.2
どうしても無名関数でなければなりませんか? 名前付き関数にすれば Strict Mode で実行できるのですが…。 (function sample () { 'use strict'; // 処理 setTimeout(sample, 600); }()); # Re: 3466349さん
質問者
お礼
ご回答ありがとうございます。 Strict Modeは初めて聞きましたが 簡単に調べると厳格なエラーチェックのようですが、 これを使うとsetTimeoutに何かメリットがあるのでしょうか?
お礼
ご回答ありがとうございます。 助かりました。