我的代码在 1 秒延迟后自行循环。我将此延迟设置为 0,并保-6ren">
gpt4 book ai didi

javascript - 减慢 JavaScript。漏洞。 jQuery.is (":visible")

转载 作者:行者123 更新时间:2023-12-03 12:43:33 24 4
gpt4 key购买 nike

我有一段代码,它导致了某种内存泄漏。经过几个小时的测试,我设法将其追踪到 elem2.is(":visible");

我如何追踪它 -> 我的代码在 1 秒延迟后自行循环。我将此延迟设置为 0,并保存执行 10 次迭代所需的平均时间。我最终得到了一个整数列表,如下所示。

这是我的“速度测试”,没有任何内存泄漏等:

"4128 , 3964 , 4054 , 3994 , 3946 , 4011 , 4117 , 4044 , 4036 , 3945 , 4031 , 3859 , 4015 , 4019"

我只包含了第一次查看结果。但您可以看到完成十次循环平均需要 4000ms。

接下来是我包含 elem2.is(":visible"); 时的值

 5128 , 4967 , 4975 , 5085 , 5127 , 5261 , 5550 , 5804 , 6160 , 6395 , 6617 , 7056 , 7658 , 8191 , 8492 , 9038 , 9364 , 10242 , 10893

正如您所看到的,执行“x”次循环所需的时间呈指数增长。

这是代码:

function foo() {
var elem1 = $("#A"),
elem2 = $("#B");

if(elem1.length && elem2.length && elem2.is(":visible")) {
// Do stuff
}
}

有人知道此功能有任何已知问题吗?无论如何,为了避免它减慢我的功能? (我最有兴趣找出它为什么这样做)。

谢谢

最佳答案

本页的第一个答案很好地总结了这一点 Performance of jquery visible

快速总结。当使用 jquery :visible 属性时,您实际上是在检查多个属性。关于您的速度检查,检查可能会累加。我确信这些速度会根据浏览器的不同而有所不同。

关于javascript - 减慢 JavaScript。漏洞。 jQuery.is (":visible"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23430255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com