gpt4 book ai didi

javascript - 哪个 JavaScript 性能更好?绑定(bind)到 jQuery.data 属性的变量还是闭包范围内保存的变量?

转载 作者:行者123 更新时间:2023-11-28 02:28:39 26 4
gpt4 key购买 nike

在下面的代码中,我将变量 t 和hoverCalled 保存在闭包作用域中。如果我将它们保存在 jQuery.data 属性中,性能会更好吗?我听说创建闭包作用域在性能方面有点昂贵。但是,我不知道它是否比其他选择更糟糕。


hrefDelay = 函数(hoverIn,hoverOut){



var t=null;
var悬停调用=假;
返回 {
悬停:函数(){
t = setTimeout(函数() {
//$(self).data('hoverCalled',true);
悬停调用=true;
悬停();
}, 500);
$(this).data('超时', t);
},
悬停:函数(){
if (hoverCalled){
悬停();
悬停调用=假;
} 别的 {
//var t=$(self).data('超时');
//clearTimeout($(this).data('timeout'));
t&&清除超时(t);
}
}

};

};

最佳答案

The .data() method allows us to attach data of any type to DOM elements in a way that is safe from circular references and therefore from memory leaks.

JQuery 文档说。所以是的,如果您关心性能,您最好将值存储在 JQuery.data() 中。不过,您不太可能在小型应用程序中看到任何差异。

此外,DOM 修改的成本可能相当高。但同样,如果您没有构建非常大的应用程序,您几乎不会注意到差异。如果您这样做,那么我想您应该根据您拥有的代码来决定什么是最好的。

关于javascript - 哪个 JavaScript 性能更好?绑定(bind)到 jQuery.data 属性的变量还是闭包范围内保存的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525905/

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