jQuery的Each比JS原生for循环性能慢很多的原因

前端之家收集整理的这篇文章主要介绍了jQuery的Each比JS原生for循环性能慢很多的原因前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

其实查看jQuery的源代码,发现each的代码很简单,但为什么性能和原生的for循环相差几十倍呢?

jQuery的each的核心代码

看着很简单,但为什么会慢很多呢?

编写测试代码如下:

运行测试,发现,第一个和第二个相差不是很大,这说明由于break这个判断导致的性能差异很少,但第二个和第三个,第四个偏差就就不止一倍了,而第二个和第三个唯一的区别就是调用了call,看来call会导致性能损失,因为call会切换上下文,当然jQuery的each慢还有其他原因,它还在循环中调用了其他的方法,call只是一个原因罢了。

性能的方法,在性能要求严格时,建议少用。

下面在通过一段代码看下jquery的each和js原生for循环性能对比

for与each性能比较

猜你在找的jQuery相关文章