性能:我应该初始化一个变量还是使用'这'

Performance: Should I initialize a variable or use 'this'?

本文关键字:变量 一个 初始化 我应该 性能      更新时间:2023-09-26

我有一个可能被使用多次的点击方法。在这种方法中,我需要多次访问被单击按钮的id。例如:

$('.elemental-selection').click(function () {
   if(currentElement !== $(this).attr('id')) {
      if($(this).attr('id') === 'element-water') {
         ...
      }
      else {
         currentElement = $(this).attr('id');
      }
    }
});

当然,对于长的if块,我可以使用switch-statement,但我想知道的是,频繁使用$(this)是否可以用定义为$(this)的变量(以及我想要的任何方法)更好地替代。从那时起,我将引用变量而不是this

那么,什么是更好的决定呢?非常感谢。

由于您多次使用$(this).attr,这意味着jQuery必须多次执行此选项的选择。

最好为$(this).attr('id')创建一次变量,因为您只需要执行一次获取attr所需的方法。

此外,请确保为此属性ID 使用本地变量