1 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
讓我們假設(shè) numeros 的值為 [8, 90, 0, 7]
讓我們看看每次迭代中發(fā)生了什么:-
第一次迭代時(shí): 計(jì)算之前sum
數(shù)組:[8, 90, 0, 7]
元素:8
索引:0
總和:0
計(jì)算后sum
數(shù)組:[8, 90, 0, 7]
元素:8
索引:0
總和:8
sum
如果我們?cè)诘谝淮蔚鬀](méi)有返回:
在第二次迭代時(shí): 計(jì)算之前sum
和:
undefined
數(shù)組:[8, 90, 0, 7]
元素:90
指數(shù):1
注意:Array.prototype.reduce() 接受一個(gè)函數(shù)(即它是高階函數(shù))而不是一個(gè)循環(huán)。
sum
變得未定義,因?yàn)槲覀儧](méi)有返回前一個(gè)函數(shù)調(diào)用的值。Js 引擎不知道 的值是什么,sum
因?yàn)榍耙粋€(gè)函數(shù)已經(jīng)完成并且它的執(zhí)行上下文被刪除。
計(jì)算后sum
總和:
undefined
+ 90 =NaN
數(shù)組:[8, 90, 0, 7]
元素:90
指數(shù):1
所以 的值sum
就變成了 NaN
sum
所以它繼續(xù)計(jì)算NaN的值。
添加回答
舉報(bào)