今天复习了js的运算符,发现简单的运算还是会出现错误的。
及时发现,及时补救,及时反思吧。下面,例题解释,简单明了。
a=2;
b=3;
c=a + b++
c = ++a + b++
c = a+ b--
//问,最后输出的a,b,c的值分别是?
来吧,一步一步解释
首先,得知a=2,b=3;第一步c = a + b++;
b++是先使用,后赋值,所以计算c时,此刻的b依然是3,a是2不变,可得c=2+3 c是5;
b++ b=4
从第一步可得a = 2; b = 4; c = 5;
接下来第二步:c = ++a + b++
++a呢,是先赋值再使用,所以++a 就是3,
同上,b++先使用,后赋值,所以计算c时,此刻的b依然是4;算出此时的c为3+4=7;
所以a = 3;b = 5; c = 7;
最后一步:
b--与b++同理
c = a + b--;
a不变等于3,再算c时的b值先不发生变化,先使用后赋值,所以c = 3 + 5 =8
b自减为4,所以最终的结果时 a = 3, b = 4, c = 8 .
题2
var d = 20;
var res = d++ + ++d + d
console.log(res)
20+22+22