JavaScript クロージャーの型

ちょっとした処理でもいったん取得した情報を再利用できたほうがいいな、というときに、クロージャーの書き方を毎回どう書くんだったかな、とぐぐることになるので、流用元となる型を記事にしておきます。

シンプル

var closure = (function(){
	var prop = 0;
	return function(){
		prop++;
		console.log(prop);
	};
})();

メソッド付き

var closure2 = (function(){
	var is_init = false;
	var prop;

	function init(tgt){
		is_init = true;
		prop = 4;
	}
	function method(tgt){
		prop++;
		console.log(prop);
	}
	return {
		method:function(){
			if(!is_init){
				init();
			}
			method();
		}
	};
})();