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性能比较

输入出入:

for循环执行时间:1 each循环执行时间:3

两次结果直接说明了问题。

以上所述是小编给大家介绍的jQuery的Each比JS原生for循环性能慢很多的原因。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/jquery/47437.html

猜你在找的jQuery相关文章