我看到很多jQuery示例都做了类似的事情
var $element = $('#element');
$element.foo...
Run Code Online (Sandbox Code Playgroud)
而不仅仅是打字
$('#element').foo...
Run Code Online (Sandbox Code Playgroud)
我确实知道如果你正在使用$ element那么节省了一点点的输入,但那些$ element只调用一次或两次的时间呢?为什么有些开发人员在这些实例中将其声明为jQuery对象变量?浏览器处理它也更有效吗?
Tra*_*s J 10
通常这样做是为了避免重新包装元素或重新查询选择器的页面.
比如在点击事件中
$('.className').click(function(){
var $this = $(this);
callSomeHelper($this);
$this.hide();
if( $this.data("placement") == "somePlacement" ){
//some logic
}
});
Run Code Online (Sandbox Code Playgroud)
真正的保护程序是它引用一组元素.
var $allSides = $('.side');
Run Code Online (Sandbox Code Playgroud)
现在回到click事件,您可以引用它而无需重新查询
$('.top').click(function(){
var door = $allSides.find(':visible');
});
Run Code Online (Sandbox Code Playgroud)
显然有更多的深度示例,但这两个是存储变量的主要情况.