重たい処理があるんだけど、連続して実行したい場合にメイン処理の実行を遅延させて、最後にセットされた処理だけを実行するようなメソッドを書いてみた。例えば、コマンド入力にも使えるかも? 追記:使えそうなケース はてなスターを連打している間はカウントだけして、連打が切れたらPOSTを行うみたいな処理がすっきり書けるはず。たぶん。 var TimeLag = function(){this.initialize();}; TimeLag.prototype ={ initialize:function(ms){ this.ms = ms; this.exe = null; } ,set:function(func,obj){ if (this.exe && !this.exe.complete) { this.exe.cancel(); } return this.later(func,obj);