Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery,将元素分配给变量与否,哪一个是最好的?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript jQuery,将元素分配给变量与否,哪一个是最好的?

Javascript jQuery,将元素分配给变量与否,哪一个是最好的?,javascript,jquery,dom,Javascript,Jquery,Dom,在阅读jQuery和引导文档时,我经常看到以下内容: var modal = $('#someid'); modal.find('.something').text('something'); modal.find('.somethingelse').text('somethingelse'); 它首先将元素分配给一个变量,然后从那里开始工作。但我通常会这样写: $('#someid').find('.something').text('something'); $('#someid').fi

在阅读jQuery和引导文档时,我经常看到以下内容:

var modal = $('#someid');
modal.find('.something').text('something');
modal.find('.somethingelse').text('somethingelse');
它首先将元素分配给一个变量,然后从那里开始工作。但我通常会这样写:

$('#someid').find('.something').text('something');
$('#someid').find('.somethingelse').text('somethingelse');

我的问题是,除了语法本身之外,使用第一种方法(分配给变量)还有其他原因吗?DOM是更快还是更好?

出于多种原因,首选第一种方法

  • 它减少了访问DOM的次数,这是一个相对缓慢的操作,因此它的性能更好
  • 它减少了代码从现有元素对象实例化新jQuery对象的次数,这是另一个性能优势
  • 它会修改代码,以便相同的语句不会不必要地重复

因此,您应该始终遵循这种做法,在可能的情况下通俗地称为“缓存选择器”。

@Maidul不是真正的dupeSo将其存储在变量中,您只需查找元素一次。如果不使用它,将查找元素两次。你认为什么更有效率。使用您已经引用过的东西,或者必须再次搜索DOM才能找到元素?感谢您的澄清,我感觉情况就是这样。