javascript这个对象

标签 javascript this

在过去的 4 个月里,我一直在从事 Web 项目。为了优化代码性能,我们使用了一种模式。我的疑问是,它是否真的提高了性能?

当我们必须使用this 对象时,我们将它分配给一个局部变量,然后使用它。

function someFunction()
{
  var thisObject = this;
  //use thisObject in all following the code. 
}

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

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

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

最佳答案

虽然这是 Javascript 中的常见做法,但出于性能原因这样做。将 this 对象保存在另一个命名的本地中通常是为了在函数内定义的回调中保留 this 的值。

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

thisObject === this 是否为 true 取决于它的调用方式

var o = {} 
o.someFunction = someFunction();
var callback = o.someFunction();
callback();        // prints false
callback.call(o);  // prints true

关于javascript这个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176209/

相关文章:

javascript - Google Closure 绑定(bind)/解决 this 关键字的问题

javascript - Angular : increase counter on long press

javascript - 使用javascript有条件地格式化php输出

javascript - 如何使用javascript从字符串中删除 "\"字符?

javascript - 如何获取 Javascript 匿名函数的 "this"(作用域)?

c++ - C++ 中 decltype(this) 的类型是什么?

c++ - 从另一个类对象调用常量函数

javascript - 将其传递给函数会更改所有单击的元素

javascript - 在非全局范围内通过 `this` 访问声明的变量

javascript - 如何在 angularjs 中发送多个文件以及表单数据