我创建了这个测试http://jsperf.com/loop-counter,为什么这三个表达式之间存在如此大的差异。
因为你的测试是有问题的。你正在重复使用同一个变量,所以它变得越大,增加速度就越慢。看看这个链接:http://jsperf.com/loop-counter/6
这是jsperf的工作方式 - 准备代码仅在所有测试之前运行一次。
我试着多次运行这三个测试,每次重新加载页面后,我尝试的第一个测试明显是最快的。
因此,我猜测测试存在某些问题,可能是测试时间太短,也就是运行测试的代码占用了大部分时间。
+=
的操作码更高效,因为它需要更少的处理器周期。 - Raynos