var data =[];
for(var i=0;i<3;i++){ data[i] = function(i){ console.log(i);
}
}
data[0]();
data[1]();
data[2]();1、請問一下為何執(zhí)行data[0]時是undefined?2、for循環(huán)執(zhí)行后,會分配3個空間,放著3個function嗎?如果是,i的值會傳進(jìn)去嗎?3、執(zhí)行結(jié)果是undefined,是因為執(zhí)行完for循環(huán)完,沒有3個空間,都釋放了嗎?還是其他原因4、如果像傳進(jìn)去i,要用閉包(我已經(jīng)試過了),是閉包會分配空間一直不釋放嗎?有其他方法嗎?
js中作用域,閉包問題
aluckdog
2018-10-19 11:33:42