6 回答

TA貢獻(xiàn)452條經(jīng)驗 獲得超796個贊
第一次循環(huán)sum1=arguments[i]+sum0
第二次循環(huán)sum2=arguments[i]+sum1
第三次循環(huán)sum3=arguments[i]+sum2
可見,改變初始值sum0并不會對總循環(huán)造成太大的影響,因為sum0不會重復(fù)增加
因此你初始值增加了多少,總值就會改變多少

TA貢獻(xiàn)149條經(jīng)驗 獲得超291個贊
?我想你糾結(jié)的是不是sum起始值+1 那循環(huán)N次 總值應(yīng)該+N?
這樣說,var sum=0;for(var i = 0;i<5;i++){sum=sum+1;}? 運行了結(jié)果sum=5,因為sum加了5次1而已。 sum=1,那結(jié)果就是6,sum=10,結(jié)果是15;把加的1換成2,3,4,5結(jié)果一樣???
由此可見,sum的起始值加多少。最終結(jié)果加多少,跟循環(huán)是不相關(guān)的。
望采納~~~

TA貢獻(xiàn)146條經(jīng)驗 獲得超54個贊
什么叫沒有循環(huán)加上去? 這段代碼一點問題都沒有啊。 求1+2+3+4+5+6+8+0的和不就是29么?1+2+3+4+5+6+8+1不就是30么??1+2+3+4+5+6+8+2不就是31么。。。。

TA貢獻(xiàn)3條經(jīng)驗 獲得超0個贊
結(jié)果沒問題啊,box函數(shù)是將參數(shù)的所有值計算和返回。alert(box(1,2,3,4,5,6,8));的參數(shù)值和為29。你將sum的初始值調(diào)整為1,那么結(jié)果=29+1=30 ,改為2結(jié)果=29+2=31.沒有問題

TA貢獻(xiàn)361條經(jīng)驗 獲得超191個贊
因為這里sum不斷自加,但加得并不是最初聲明的sum
i=0,sum=0(最初的sum)+arguments[0](即1),i++;(sum=1)
i=1,sum=1(第一次循環(huán)后的sum)+arguments[1](即2),i++;(sum=3)
i=2,sum=3(第二次循環(huán)后的sum)+arguments[2](即3),i++;(sum=6)
可以看到其實這里sum=arguments[i]+sum中的sum在第一次循環(huán)的時候就已經(jīng)改變了,所以最初的var sum只是相加了一次,并不會循環(huán)到公式里去;
所以這里就是參數(shù)相加,然后再加上最初的sum的值
添加回答
舉報