js中,我们在写一个变量自加1时,可以写为num=num+1, 但是我们习惯性简写, num++或者是++num, 在不配合进行其他运算时,这两者是没有任何区别的,都是自加1,但是当它们用于赋值时结果就是不一样的.
如下:
var num1=10
var num2=10
var add = num1++ + ++num2
alert(add)
乍一看肯定是弹出22, 但这里有猫腻, 此时弹出的是21而不是22,
这是因为num++混合计算时,会先将值用做计算值,后自加, 所以num1用做计算值是10, 然后自加变为11, 而++num2是先自加然后将自加后的值用做计算值, 所以num2用做计算值是11,最后得到的add就是10+11为21了,实际开发中很少用到这样的混合计算,但是我们还是得知道这个小细节.