obj = [1,2,3,4,5];
function iter(){
for (var key in obj){
key=key+key;
};
};
function test1() {
iter(obj);
};
function test2(){
(function iter(obj){
for (var key in obj){
key=key+key;
};
})(obj);
};
ここでは、test2が呼び出されるたびに新しい関数を作成していると思われますが、test1とtest2の両方が同じように実行されます。なんで?