JavaScript性能:属性的访问时间 - 'this'vs'global object'vs'variable'

时间:2016-07-12 16:36:33

标签: javascript

var globalObject = { x: 0 }; // some global object with 'x' property

function Object()
{
    this.x = 0;
}

Object.prototype.TestPerformance = function()
{
    var xVar = 0;
}

从函数TestPerformance,这些属性/变量的访问时间顺序是什么?

this.x vs globalObject.x vs xVar

1 个答案:

答案 0 :(得分:2)

将依赖于实现,并且在不查看引擎源的情况下是不可知的。

但最佳近似值:

this.x 

O(1)时间/复杂度

globalObject.x

O(1)时间/复杂度

假设在编译时搜索LexicalEnvironments。

var xVar

O(1)时间/复杂度