【问题标题】:javascript object access performancejavascript对象访问性能
【发布时间】:2011-02-25 13:55:24
【问题描述】:

在 Javascript 中,当您获取对象的属性时,获取整个对象与仅获取该对象的属性相比是否会降低性能?

另外请记住,我不是在谈论 DOM 访问,这些是纯简单的 Javascript 对象。

例如:

以下代码之间是否存在某种性能差异:

假设更快但不确定:

var length = some.object[key].length;

if(length === condition){
  // Do something that doesnt need anything inside of some.object[key]
}
else{
  var object = some.object[key];
  // Do something that requires stuff inside of some.object[key]
}

我认为这会慢一些,但不确定是否重要。

var object = some.object[key];

if(object.length === condition){
  // Do something that doesnt need anything inside of some.object[key]
}
else{
  // Do something that requires stuff inside of some.object[key]
}

【问题讨论】:

    标签: javascript performance object properties


    【解决方案1】:

    是的,有性能损失。

    属性嵌套越深,执行属性查找所需的时间就越长。

    查看本书High Performance JavaScriptfree chapter,在第31页中,它专门讨论了嵌套成员。

    (与属性深度相关的访问时间)

    另请参阅此性能测试:

    【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多