gistfile1.js 0% e�U p�?e�U (function(){ // ある関数について、最初に呼び出されたときと2回目以降で処理を分ける方法 // 自分自身を書き換える関数 // 初期化コストが低いが、見た目がイマイチ // 関数宣言でなくても良いが、関数宣言なら定義する場所を気にしなくて良くなる function A(){ A = _A; /*一回目の処理*/ // _A.apply(this,arguments);//2回目の処理を呼ぶこともOK function _A(){ /*2回目以降*/ } } // 無名関数を使う方が一般的 // 慣れるとわかりやすい。この処理が実行されるまでBは未定義なので、定義位置に注意 var B = (function () { var e = false; return function () { e = true; }; })()