【发布时间】:2012-10-01 16:06:22
【问题描述】:
可能重复:
Does using $this instead of $(this) provide a performance enhancement?
所以我正在创建一个像画廊一样占据整个屏幕的剧院,我根据窗口大小更改 div 和图像的大小。为此,我一直在使用:
function setSizes()
{
var theaterHeight = $(".theater-wrapper").height();
var theaterWidth = $(".theater-wrapper").width();
}
$(window).on("resize", window, function() {
setSizes();
});
这基本上就是我选择元素以获取尺寸以设置高度和宽度等的操作,但是窗口调整大小确实有点滞后,我最终确实有很多选择器并且变化很大几个 div 和图像都在这个函数中,有时初始调用也不能正常工作,反之亦然。所以我的问题是组合选择器会带来更好的性能吗?
喜欢:
var $theaterWrapper = $(".theater-wrapper");
var theaterHeight = $theaterWrapper.height();
var theaterWidth = $theaterWrapper.width();
【问题讨论】:
-
为什么不直接尝试一下,或者用 jsperf 之类的网站测试一下?
-
是的,你应该输入更少的内容。
-
好的,谢谢,我使用了那个网站 j08691,在这种情况下,第二种方式的速度大约快了 20%。干杯。
-
我使用的 IDE (PhpStorm) 看到你在一个函数中多次使用同一个 jQuery 选择器时会发出警告。
标签: jquery performance variables jquery-selectors