Мне было интересно в этом примере, станет ли x глобальной переменной, как если бы она не была объявлена внутри локальной функции?Будет ли JavaScript выходить из локальной функции, искать, пока он не найдет x, а затем неявно создаст глобальный x?
function f(){
var ar=[],i;
for(i=0;i<3;i++){
//this time instead of passing i, the funciton has a local value called
x
arr[i]=(function(x)){
return function(){
return x;
};
}(i));
}
return arr;
}