位置: 编程技术 - 正文
推荐整理分享jQuery的Each比JS原生for循环性能慢很多的原因(jquery中的each方法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:举例说明jquery中each函数的使用,jquery中的each,jquery each,jquery中each的用法,jquery中的each,jquery中的each,jquery中的each,jquery.each(),内容如对您有帮助,希望把文章链接给更多的朋友!
其实查看jQuery的源代码,发现each的代码很简单,但为什么性能和原生的for循环相差几十倍呢?
jQuery的each的核心代码
看着很简单,但为什么会慢很多呢?
编写测试代码如下:
运行测试,发现,第一个和第二个相差不是很大,这说明由于break这个判断导致的性能差异很少,但第二个和第三个,第四个偏差就就不止一倍了,而第二个和第三个唯一的区别就是调用了call,看来call会导致性能损失,因为call会切换上下文,当然jQuery的each慢还有其他原因,它还在循环中调用了其他的方法,call只是一个原因罢了。
因此可以说call,和apply都是js中比较消耗性能的方法,在性能要求严格时,建议少用。
下面在通过一段代码看下jquery的each和js原生for循环性能对比
输入出入:
for循环执行时间:1each循环执行时间:3
两次结果直接说明了问题。
以上所述是小编给大家介绍的jQuery的Each比JS原生for循环性能慢很多的原因,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
JQuery组件基于Bootstrap的DropDownList(完整版) 在前文创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件中,实现了DropDownList的JQuery组件,但是留有遗憾。就是当下拉菜单出现滚动条的时候,滚动条
jQuery事件委托之Safari 什么是事件委托事件委托是Jquery中一种事件绑定的方式,不同于常见的事件绑定方式将事件绑定在目标元素上,而是将事件绑定在父级元素上通过事件
jQuery获取浏览器类型和版本号的方法 废话不多说,关键代码如下所示:$(document).ready(function(){varbrow=$.browser;varbInfo="";if(brow.msie){bInfo="MicrosoftInternetExplorer"+brow.version;}if(brow.mozilla){bInfo="MozillaFir
标签: jquery中的each方法
本文链接地址:https://www.jiuchutong.com/biancheng/385839.html 转载请保留说明!友情链接: 武汉网站建设