快速区分一元运算符 i++和++i
我们学习 Javascript 的数据类型转换时候,会遇到这种运算语句
比如 sum=sum+i,sum+=i,还有比较不容易区分的 i++和++i
我们基本上都知道 sum+=i 等价于 sum=sum+i;但是遇到这种
i++;++i 时候可能就会懵逼;通过这样一个例子来解释
分析思路是这样
先看左边的第一个 i,--i- 这个肯定要要这么分开,
然后看第二个 i 的减号要怎么分,后面要两个减号还是一个减号,还是不要
列出三种情况:
两个减号:var m=(--i )-(i--)这里分开-(i)- (i--) - (i--);可以
一个减号:var m=(--i-)-(i-)--i- i-- -i--;没(i-)这种运算,
不要减号:var m=(--i)- (i)- (--i)-i---i--;这后面也不好分了
故两个-号是正确的那我们分好 var m=(--i)-(i--)-(i)-(i--)-(i--);
把每个( )单独拿出来,左边等上结果运算
1 结果=(--i);这个 i 离结果这两个字距离远,i 先管好自己的赋值,i=i-1 即
i=59,然后括号( )结果=59
2 结果=(i--);这个 i 离结果这两个字仅仅隔着一个等号,故 i 先把自己的值 59
给结果,即括号( )结果=59,i 再自己赋值 i--,i 变成 58;
3 结果=(i);i 没变化还是 58 ,结果也是 58