我知道,在C++中,++我比i ++更好。在javascript for循环中,i ++和++ i有什么不同?
++i; // Fetch i, increment it, and return it
i++; // Fetch i, copy it, increment i, return copy
那么,怎么样的JavaScript?
之间我++和++ i是表达式的值的差:
我知道,在C++中,++我比i ++更好。在javascript for循环中,i ++和++ i有什么不同?
++i; // Fetch i, increment it, and return it
i++; // Fetch i, copy it, increment i, return copy
那么,怎么样的JavaScript?
之间我++和++ i是表达式的值的差:
除非您正在使用增量结果,无论是在赋值中还是在表达式中,前后增量之间绝对没有区别。
如果使用结果,预增量可能会稍微快一点,因为它不需要在递增时保存旧值。但是,如果您使用的是结果,则需要根据您需要分配哪个值来选择要使用的表单 - 通常无法根据表现做出决定。
与C++相同的语义。 (也有点奇怪的说,预增量比后增量“好”,它是*不同的,但我不明白为什么它会更好。) – Pointy
定义“更好”。性能?如果是这样,忘记它。我不相信你能够享受JS优化级别的好处(如果有的话)。 –
[测试](http://jsperf.com/prefix-or-postfix-increment)我的iPhone上的表现和他们几乎相同。 –