A(){
 変数a
 return B(){}
}

クロージャって、Aの内側にある関数Bを呼ぶと、
Bから見て外側にある変数aが、なぜか使える。
つまり、Aの環境ごと保存していること

これは、どういう時に使うの?