setIntervalを任意の回数実行するクラスを作ってみた

これは何?

setIntervalを任意の回数実行するjavascriptのクラスです
前回(クロージャがやっとこさ理解できたのでまとめ)の記事を書く際、prototypeと、クロージャをまとめて理解する為に、コーディングしてみたものですが、備忘の為にblogに上げときます
ライセンスは、NYSLでご自由にどうぞ

// コンストラクタ
function IntervalCounter(obj){
	this.intervalCnt		= obj.intervalCnt;	// 回数
	this.func			= obj.func;		// 実行するメソッド
									// 	引数にintervalした回数が渡される
									// 	他に渡したければ、クロージャを使って下さい
	this.intervalTime	= obj.intervalTime;	// 待機する時間(ms)
}

// Interval開始
IntervalCounter.prototype.start = function(){
	this.intervalId = setInterval(
		(function(obj){
			var cnt = 0;
			return function(e){
				obj.func(cnt);
				if( ++cnt >= obj.intervalCnt ){
					clearInterval(obj.intervalId);
				}
			};
		})(this),
		this.intervalTime
	);
}

// Interval中断
IntervalCounter.prototype.stop = function(){
	clearInterval(this.intervalId);
}

// 使い方
// 1000ms毎に3回、0,1,2と、alertを表示
var wIntervalCounter = new IntervalCounter({
	intervalCnt		: 3,
	func			: function(cnt){
		alert(cnt);
	}
	intervalTime	: 1000
})
// 開始
wIntervalCounter.start();
// 中断
wIntervalCounter.stop();