javascript这个对象

Tej*_*lli 5 javascript this

我过去4个月一直从事网络项目.为了优化代码性能,我们使用了一种模式.我怀疑的是,它是否真的提升了性能?

当我们必须使用this对象时,我们将它分配给局部变量,并使用它.

function someFunction()
{
  var thisObject = this;
  //use thisObject in all following the code. 
}
Run Code Online (Sandbox Code Playgroud)

这里的假设是,将this对象分配给本地堆栈变量将提高性能.

我没有在任何地方看到这种类型的编码,所以怀疑它是否没用.

编辑:我知道将此对象分配给局部变量是为了保留对象,但这不是我们的情况.

Jar*_*Par 7

虽然这是Javascript中的常见做法,但出于性能原因尚未完成.在的保存this在另一个地方命名的对象通常是为了保存的值this这是在函数中定义的跨回调.

function someFunction() {
  var thisObject = this;
  var someCallback = function() {
    console.log(thisObject === this);  // Could print true or false
  };
  return someCallback;
}
Run Code Online (Sandbox Code Playgroud)

是否thisObject === this评估为真将取决于它的调用方式

var o = {} 
o.someFunction = someFunction();
var callback = o.someFunction();
callback();        // prints false
callback.call(o);  // prints true
Run Code Online (Sandbox Code Playgroud)