クロージャ | 31歳でHWエンジニアから未経験で       Webプログラマーになった軌跡

31歳でHWエンジニアから未経験で       Webプログラマーになった軌跡

電気系の大学に行き、24歳で就職し、HWエンジニアとなり
31歳でWebプログラマーになった挑戦の軌跡です。

はい、出ましたクロージャの説明です。

クロージャとは関数を抜けた後にも生きているローカル変数を使用し、状態を持つ関数の
事です。
ローカル変数が関数を抜け出しても生きてるんだぜ
じぇじぇじぇだな

クロージャの使い方を説明します。
1. 関数を宣言する
2. この宣言した関数にローカル変数を定義する
3. 宣言した関数の中に入れ子でさらに関数を定義し、
  この入れ子の関数に2で定義したローカル変数を使う
4. 入れ子の関数をreturnする
5. 1の関数を変数に代入する
6. 変数(関数)を実行すると、ローカル変数の値が保持される。
  これがクロージャ

ソースで言うとこんな感じ
function f(){                                    //1の所
 var number = 0                              //2の所;
 return function() { return ++number;}    //3~4の所
 }

fn = f();   //5の所
fn();  0が返ってくる
fn();  1が返ってくる
fn();  2が返ってくる

と書いてふと思ったんだが、Javaはアルゴリズム、デザインパターンとかを学べば、
コードの質が良くなると思うんだけど、
JavaScriptは何を指針として腕を磨けば良いんだろう??
誰か教えて~
まぁ、Javaも初心者なので、プログラミングの考え方がまだまだなんだけどね