建议4:谨慎使用运算符---(3)警惕运算符得副作用
在JavaScript中有一些运算符能够该百年运算数自身的值,如赋值,递增,递减运算等.
例如:
var a; a=1; a = (a++)+(++a)-(a++)-(++a); console.log(a) //-4
如果直观地去判断,会错误地认为返回值是0,实际上变量a在参与运算得过程中,变量a得值不断发生变化的.这种变化容易被误解,下面进一步分解该表达式:
var a; a = 1; b = a++; c = ++a; d = a++; e = ++a; console.log(b+c-d-e);