最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

代碼輸出結(jié)果疑問

代碼輸出結(jié)果疑問

咩咩咩3124927 2016-09-25 01:15:10
var?fnArr=[]; for(var?i=0;i<10;i++){ ??fnArr[i]=function(){ ????return?i; ??}; } alert(fnArr[3]());最后輸出的結(jié)果是10.百思不得其解,可有同學(xué)幫我解釋下,多謝了.
查看完整描述

2 回答

已采納
?
阿旭_

TA貢獻(xiàn)217條經(jīng)驗(yàn) 獲得超353個(gè)贊

因?yàn)榉祷氐淖兞渴亲罱Ki的值。

如果只輸出fnArr即:alert(fnArr);會(huì)看到彈出來的都是方法function(){return i;}

i是在for中聲明的var i,最終for循環(huán)退出的時(shí)候,i是等于10的,所以不管你調(diào)用的是fnArr[3]()還是fnArr[4]()最終返回的i的結(jié)果都是10。

你可以試著在alert(fnArr[3]());之前加一句i=100,那返回的結(jié)果就是100

查看完整回答
2 反對(duì) 回復(fù) 2016-09-25
?
藍(lán)with黑

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超0個(gè)贊

因?yàn)檠h(huán)最后都是return 最后一個(gè);

把i<10改成i<8,再運(yùn)行一次,你應(yīng)該就明白了。

或:

var fnArr=[];

for(var i=0;i<10;i++){

? fnArr[i]=function(){????????

??return i;

? };

}

//其實(shí)數(shù)組每項(xiàng)都是function(){return i},而在之前的循環(huán)后值已經(jīng)是10;

for(var j=0;j<10;j++){

console.log(fnArr[j]());

}


查看完整回答
反對(duì) 回復(fù) 2016-09-25
  • 2 回答
  • 0 關(guān)注
  • 1639 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)