当前位置:Gxlcms > JavaScript > 为什么jqueryeach比jsfor循环运行速度慢?

为什么jqueryeach比jsfor循环运行速度慢?

时间:2021-07-01 10:21:17 帮助过:3人阅读

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

jQuery的each的核心代码


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

编写测试代码如下:


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

因此可以说call,和apply都是js中比较消耗性能的方法,在性能要求严格时,建议少用。

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


输入出入:

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

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

以上就是为什么jquery each比js for循环运行速度慢?的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行