获得徽章 20
- #每天一个知识点# for、forEach 和 map,哪种性能会好一些?
- 结论:for > forEach > map
- 说明:
----- a. for循环当然最简单的,因为它没有任何额外的函数调用栈和上下文;
----- b. forEach其次,因为它其实比我们想像得要复杂一些,它的函数签名实际上是, array.forEach(function(currentValue, index, arr), thisValue) ,它不是普通的for循环语法糖,还有诸多参数和上下文需要在执行的时候考虑进来,这里可能拖慢性能;
----- c. map最慢,因为它的返回值是一个等长的全新的数组,数组创建和赋值产生的性能开销很大。
- 建议:过早优化是万恶之源。很多初学者总会陷入过分追求性能的误区,而忽略了语义和可读性。
-
。 展开赞过12
。
![[晕]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_33.12a8e53.png)