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



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

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的次数,这是一个相对较慢的操作,因此性能更好
  • 它减少了代码从现有Element对象实例化新jQuery对象的次数,这是另一个性能优势
  • 它对代码进行DRY处理,这样就不会不必要地重复相同的语句

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