如题:
任务
我们有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; 这个是怎么计算出来结果,我理解不明白!
第一次循环:等号右边的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。
以此类推
这个就是一个累加,初始没开始计算钱总额的时候sum值mymoney值都为0,当计算1元纸币的时候。总钱数就是1=0+1,当mymoney=2的时候,总钱数就是3=1+2,以此类推,其实说到累加你就应该可以明白了,