我过去4个月一直从事网络项目.为了优化代码性能,我们使用了一种模式.我怀疑的是,它是否真的提升了性能?
当我们必须使用this对象时,我们将它分配给局部变量,并使用它.
function someFunction()
{
var thisObject = this;
//use thisObject in all following the code.
}
Run Code Online (Sandbox Code Playgroud)
这里的假设是,将this对象分配给本地堆栈变量将提高性能.
我没有在任何地方看到这种类型的编码,所以怀疑它是否没用.
编辑:我知道将此对象分配给局部变量是为了保留对象,但这不是我们的情况.
虽然这是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)
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |