在过去的 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/