请问我对a++和++a的理解是否正确?
来源:5-1 算数操作符
九汐
2019-12-22 10:55:09
<script>
var a = 10,
a1 = 10;
b = 3,
c = a++ - b;
d = ++a1 - b;
console.log(a);
console.log(a1);
console.log(c);
console.log(d);
</script>
a++:c的实际运算操作等价于:a-b,再a+1;
++a1:d的实际运算操作等价于:(a+1)-b;//a++优先级高于减b的操作,相当于在运算外加了一个括号。
结果:
a = 11
a1 = 11
c = 7
d = 8
1回答
同学你好,如下(a+1)-b,a++是不是写错了?是想要写 (a1+1)-b和++a1吧。
另外, (a1+1)-b优先级描述的也不太严谨。加减法运算的优先级是一样的,优先级相同的情况下,就是从左往右开始运算。即a+1-b与(a+1)-b的结果是一样的。老师觉得你已经理解了a++和++a,只是在描述上不太严谨。老师为你纠正一下:
a++是先赋值后计算,c = a++ - b 相当于 c=a-b (先把公式计算的结果赋值给c), a=a+1(后计算a的值)。
++a是先计算后赋值,d = ++a1 - b相当于a1=a1+1(先计算a1的值 ) , d=a1-b(后把公式计算的结果赋值给d) 。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题