let a = 1
console.log( a+++a )
let a = 1
console.log( a+a++ )
a=a+1
和a+=1
是一样的
a++
可以理解为先返回了a的值(a先参与运算)再自增++a
是先自增再参与运算
//a在前那就a先参与运算再自增,++在前那就先自增再参与运算
+
/ \
/ \
a ++a
编译器的处理过程:
1. push(a), a入栈(1)
2. push(++a),即push(2) ,a先自增变成2后参与运算
3. result = pop()+pop(), 出栈两个操作数(1,2)相加,得到3.
+
/ \
/ \
a a++
编译器的处理过程:
1. push(a), 即push(1),
2. push(a++),即push(1),之后 (a先参与运算)再自增
3. result = pop()+pop(), 出栈两个操作数(1,1)相加,得到2.
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!