Почему не видна переменная i внутри ф-ции. Знаю что дело в замыкании. Читал но понять не могу. И как можно переделать чтобы i была доступна в function()?
var i=0;
var arr=[];
for ( i=0; i<5; i++ )
{
arr.push((function()
{
alert(i);
}
));
}
//alert(i);
var j=0;
//alert(arr); //массив содержит 5 expression functions
for ( j=0; j<5; j++ )
{
arr[j](); // вызов expression function - вызов на месте через выражение '()'
}