function outer(){ var x = 1; function inner(){ alert(x); x = x + 1; }; return inner; //returnが無いとinnerを宣言しただけの状態となり、以下のouter();を実行しても何も起きない。 } outer(); //1を表示 outer(); //2を表示