javascript对象访问性能

you*_*uch 14 javascript performance properties object

在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]
}
Run Code Online (Sandbox Code Playgroud)

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

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]
}
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 15

是的,存在性能损失.

嵌套属性越深,执行属性查找就需要更多时间.

查看高性能JavaScript一书中的这一免费章节,在第31页中,它专门讨论了嵌套成员.

(与财产深度相关的访问时间)

另请参见此性能测试: