当前位置: 首页 > 科技观察

高性能JavaScript循环语句与流控

时间:2023-03-19 21:48:30 科技观察

前言上一篇文章讨论了Duff设备对代码性能的影响。本文主要讨论和测试各种常见的循环语句和流控中常见的优化的性能。循环语句众所周知,常用的循环语句有for、while、do-while、for-in、forEach。除了for-in和forEach的性能略低之外,我们通常是基于需求而不是性能考虑来选择前三种。今天我们就来测试一下他们各自的性能,告诉我们在最极端的情况下可以做哪些优化。首先让我们谈谈为什么for-in和forEach比其他的慢。for-in一般用于对象属性名的遍历。由于每次迭代操作都会同时查找实例本身的属性和原型链上的属性,效率肯定很低;而forEach是基于函数的迭代(需要特别注意的是,ie不是所有版本都支持,如果需要可以使用JQuery等库),每个数组项调用外部方法带来的开销是速度慢的主要原因。然后我们看看每次迭代中for、while和do-while做什么。varlength=items.length;for(vari=0;i