老师,我还是不明白num1++和--num1的意思
来源:5-7 编程练习
能量咕噜略略
2020-02-27 20:17:09
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title> ++和--的运算</title>
</head>
<body>
<script>
//代码补充
var num1=4,num2=5;
result1=(num1++)+(--num2);
result2=(num1++)-(--num2);
result3=(num1++)*(--num2);
result4=(num1++)/(--num2);
document.write(result1+"<br>"); //num1=4,num2=4
document.write(result2+"<br>"); //num1=5,num2=3
document.write(result3+"<br>"); //num1=6,num1=2
document.write(result4+"<br>"); //num1=7,num1=1
</script>
</body>
</html>
代码如上:result1我知道,4+4,但是result2不是还是计算num1++和--num2吗,为什么会变成5和3,就这么完全乱套了,这计算顺序到底是啥样的
3回答
好帮手慕星星
2020-02-28
同学你好,代码是正确的。
最后理解的是正确的:

主要是因为每一次计算之后num1和num2的值都会改变,所以进行下一次计算的时候需要用改变后的值进行计算。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
能量咕噜略略
提问者
2020-02-27
明白了,是不是这么理解
首先:result1计算的是num1++(num1原先的值)+ --num2(num2递减后的值),
然后在重新计算num1的值日为num1+!,就变成了5,
在第二次还没开始计算前,var num1=5,num2=4;
然后在开始第二次的result2的计算
然后就是(num1++)-(--num2)=5-3=2; 接着在重新计算num1=num1+1,数值就变成了6
在第三次还没开始计算前,var num1=6,num2=3,然后以此类推
能量咕噜略略
提问者
2020-02-27
这里既然第二次:num1和num2实现了递增和递减操作,那为什么第一次运行的时候又没有实现呢,好乱呀,那按照正常逻辑来看,第一次运行num1++不就等于5了吗,--num2不就等于4么,为什么要从第二次才开始呢?
相似问题