有没有理由在函数中创建一个本地$(this)变量?

时间:2015-05-18 17:47:13

标签: javascript jquery

如果我这样做,我会保存任何内存或性能

function foo(){
   var $this = $(this);
   var class = $this.class();
   var attr = $this.attr();
}

通过这个

function foo(){
   var class = $(this).class();
   var attr = $(this).attr();
}

1 个答案:

答案 0 :(得分:1)

对于简单的应用程序,性能差异可能很小,但它存在。考虑$()是一个函数,因此每次调用该函数时,引擎都必须执行该函数中的代码。引用现有变量将比执行可能较大的函数快得多。

换句话说,这是:

var x = someFunction();
someOtherFunction(x);

总是比这更快:

someFunction();
someOtherFunction(someFunction());
相关问题