3 回答

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個(gè)贊
1.第一行 ;function box{}應(yīng)該是function box();屬于手誤。
2.第一個(gè)問(wèn)題,為什么打印出來(lái)是55555:因?yàn)閎ox()返回一個(gè)數(shù)組-arr,arr[0]=function(){return i},........arr[4]=function(){return i}。i的值一直被引用,并沒(méi)有被垃圾回收(renturn i還在引用),理解為box對(duì)象的私有變量。循環(huán)完i=5;所以不管是arr[0]()=5,......還是到arr[4]()都=5;注意在循環(huán)的過(guò)程中arr[0]()=0,arr[1]()=1。因?yàn)檠h(huán)過(guò)程中i的值是從0到4.
接下來(lái)b=box(),循環(huán)調(diào)用b[0]().......b[4]();輸出仍然一直為5;
3.第二個(gè)問(wèn)題,比較容易理解,調(diào)用box()返回一個(gè)數(shù)組,內(nèi)容為arr[0]=0,arr[1]=1,.....arr[4]=4;下面遍歷輸入自然是0,1,2,3,4。
添加回答
舉報(bào)