问答详情
源自:4-5 重复重复(for循环)

for循环

如题:

任务

我们有1,2,3...10不同面值的钱,使用for语句完成合计,看看我们一共有多少钱,请补充第8行代码,实现该功能。

答案:

<script type="text/JavaScript">
var mymoney,sum=0;//mymoney变量存放不同面值,sum总计
for(mymoney=1;mymoney<=10;mymoney++)
{
  sum=sum+mymoney;
}
  document.write("sum合计:"+sum);
</script>

我的疑问:

sum=sum+mymoney;  这个是怎么计算出来结果,我理解不明白!

提问者:大年糕 2016-12-29 15:22

个回答

  • hello_ahz
    2016-12-29 15:37:37
    已采纳

    第一次循环:等号右边的sum = 0,mymoney = 1; 加法的优先级高于赋值运算符,所以先算等号右边的加法:sum+mymoney(也就是0+1),结果为1,然后将加法的结果赋给等号左边的sum,此时sum的值被修改为1。

    第二次循环:等号右边的sum = 1(第一次循环结束后sum的值被赋为1),mymoney = 2(因为第一次循环结束后mymoney++); 加法的优先级高于赋值运算符,所以先算等号右边的加法:sum+mymoney(也就是1+2),结果为3,然后将加法的结果赋给等号左边的sum,此时sum的值被修改为3。

    第三次循环:等号右边的sum = 3(第二次循环结束后sum的值被赋为3),mymoney = 3(因为第一次循环结束后mymoney++); 加法的优先级高于赋值运算符,所以先算等号右边的加法:sum+mymoney(也就是3+3),结果为6,然后将加法的结果赋给等号左边的sum,此时sum的值被修改为6。

    以此类推

  • 伊倓
    2016-12-29 15:40:54

    这个就是一个累加,初始没开始计算钱总额的时候sum值mymoney值都为0,当计算1元纸币的时候。总钱数就是1=0+1,当mymoney=2的时候,总钱数就是3=1+2,以此类推,其实说到累加你就应该可以明白了,