3 回答

TA貢獻(xiàn)19條經(jīng)驗(yàn) 獲得超7個贊
arr.push()的參數(shù)為function類型。
當(dāng)輸出 result=[ function(){ return i * i },?function(){ return i * i },?function(){ return i * i } ]時,result的 i 默默地循環(huán)了三遍,停在了 i=4 上。
然后當(dāng)你使用 result[0]() 時,將i=4帶入function,得到16。
循環(huán)會在設(shè)置好時調(diào)用,不會等著你,但是function只會在調(diào)用時調(diào)用。

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超1個贊
function count() {
? var arrs = [];
? for(var i = 1;i<=3;i++){
? ? ? arrs.push(i * i); //此處代碼修改
? }
? return arrs;
}
var result = count();
var fire1 = result[0];
var fire2 = result[1];
var fire3 = result[2];
console.log(fire1);//此處代碼修改
console.log(fire2);//此處代碼修改
console.log(fire3);//此處代碼修改
你的代碼中,count() 方法中,arrs是你獲得的 一個含有方法的的集合,i最后的值為4,把前面的值都給覆蓋掉了
添加回答
舉報