亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

var sum=0是什么意思?

var sum=0是什么意思?

崔婉妮 2016-09-11 11:50:16
function box(){ var sum=0; ? ?? for(var i=0;i<arguments.length;i++){ sum=arguments[i]+sum; } return sum;}alert(box(1,2,3,4,5,6,8));這段代碼,我將var sum =1 ? 得出的結果是30 ? ? ;var sum=2 ?得出的結果是31 ?誰能解釋下。貌似sum沒有循環加上去
查看完整描述

6 回答

?
JustWannaHugU

TA貢獻452條經驗 獲得超796個贊

第一次循環sum1=arguments[i]+sum0

第二次循環sum2=arguments[i]+sum1

第三次循環sum3=arguments[i]+sum2

可見,改變初始值sum0并不會對總循環造成太大的影響,因為sum0不會重復增加

因此你初始值增加了多少,總值就會改變多少


查看完整回答
1 反對 回復 2016-09-11
  • JustWannaHugU
    JustWannaHugU
    改變后的sum3'-sum3=sum2'-sum2=sum1'-sum1=sum0'-sum0為一個定值! 望采納~
?
menghuanbaolei

TA貢獻20條經驗 獲得超2個贊

初始化對象;

查看完整回答
反對 回復 2016-09-11
?
NadiaSmile

TA貢獻149條經驗 獲得超291個贊

?我想你糾結的是不是sum起始值+1 那循環N次 總值應該+N?

這樣說,var sum=0;for(var i = 0;i<5;i++){sum=sum+1;}? 運行了結果sum=5,因為sum加了5次1而已。 sum=1,那結果就是6,sum=10,結果是15;把加的1換成2,3,4,5結果一樣???

由此可見,sum的起始值加多少。最終結果加多少,跟循環是不相關的。

望采納~~~

查看完整回答
反對 回復 2016-09-11
?
摩訶迦葉

TA貢獻146條經驗 獲得超54個贊

什么叫沒有循環加上去? 這段代碼一點問題都沒有啊。 求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么。。。。

查看完整回答
反對 回復 2016-09-11
?
this_life

TA貢獻3條經驗 獲得超0個贊

結果沒問題啊,box函數是將參數的所有值計算和返回。alert(box(1,2,3,4,5,6,8));的參數值和為29。你將sum的初始值調整為1,那么結果=29+1=30 ,改為2結果=29+2=31.沒有問題

查看完整回答
反對 回復 2016-09-11
?
stone310

TA貢獻361條經驗 獲得超191個贊

因為這里sum不斷自加,但加得并不是最初聲明的sum

i=0,sum=0(最初的sum)+arguments[0](即1),i++;(sum=1)

i=1,sum=1(第一次循環后的sum)+arguments[1](即2),i++;(sum=3)

i=2,sum=3(第二次循環后的sum)+arguments[2](即3),i++;(sum=6)

可以看到其實這里sum=arguments[i]+sum中的sum在第一次循環的時候就已經改變了,所以最初的var sum只是相加了一次,并不會循環到公式里去;

所以這里就是參數相加,然后再加上最初的sum的值



查看完整回答
反對 回復 2016-09-11
  • 6 回答
  • 0 關注
  • 4560 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號