jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了重用jQuery对象更快,但它总是更好吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在工作中遇到了一些代码,如下所示:

var $divs = $('div');
var $jq   = $([1]);

$divs.each(function () {
    $jq.context = $jq[0] = this;
    // ... do stuff ...
});

perf’d以上,似乎比$this = $(this)快得多;在功能的顶部.在函数内部,$jq变量有一组标准的典型jQuery方法(称为off.)(.hasClass(),.data(),. find(),…),代码按预期工作.

我想知道这里的权衡是什么;也就是说你每次都不构建新物体会失去什么?我只是失去了“历史”(即.pushStack(),. end(),. andSelf(),…)?我应该一直这样做吗?

另外,这是一个命名模式吗?我不能为我的生活弄清楚如何在谷歌上研究这个.

解决方法

这让我感到疯狂的微观优化.在基本情况下,确保重用对象的速度要快一个数量级.但缓存当前对象的重点是节省后续操作的时间;在宏观方案中,除非你处理成千上万的元素,否则无关紧要(不要这样做.)

你失去了什么

>理智的范围:通过将对象存储在迭代的外部范围中,您将打破回调的关闭.显而易见的例子是,如果你在这里使用COnsole.log($jq),那么所有的日志条目都会引用相同的对象(循环中的最后一个对象),而这对于每次迭代都是唯一的.
>可读性:var $this = $(this)读取/理解比$jq.context = $jq [0] =这快得多.

关于“历史”,我看不出你在这里失去了什么.在任何一种情况下,你都是从一个特定的对象开始,所以你从那里进行的任何搜索都会被记录下来.

@H_675_32@

大佬总结

以上是大佬教程为你收集整理的重用jQuery对象更快,但它总是更好吗?全部内容,希望文章能够帮你解决重用jQuery对象更快,但它总是更好吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。