在属性较少的JavaScript对象中循环是否更快?

在属性较少的JavaScript对象中循环是否更快?,javascript,Javascript,如果有两个对象定义,且其中一个对象的特性比另一个对象的特性多得多,则- 示例对象: var personObjectType1 = { name: [a string], age: [an int] }; var personObjectType2 = { name: [a string], age: [an int], address: [a st

如果有两个对象定义,且其中一个对象的特性比另一个对象的特性多得多,则-

示例对象:

var personObjectType1 = 
       {
          name: [a string],
          age: [an int]
       };

var personObjectType2 = 
       {
          name: [a string],
          age: [an int],
          address: [a string],
          photo: [a link],
          spouse: [a string],
          cars: [an array of strings],
          children: [an array of strings],
          pets: [an array of strings],
          father: [a string],
          mother: [a string],
          birthdate: [a date]    
       };
如果每个对象都有一个等长的数组,那么对于属性较少的对象,在对象数组中循环会更快吗

(注意:对每种类型的对象执行相同的操作)

示例代码:

//personObjectType1Array is an array of 10000 personObjectType1's
//personObjectType2Array is an array of 10000 personObjectType2's

for (var i = 0; i < personObjectType1Array.length; i++)
{
    console.log(personObjectType1Array[i].age); 
}

for (var j = 0; j < personObjectType2Array.length; j++)
{
    console.log(personObjectType2Array[i].age); 
}
//personObjectType1数组是由10000个personObjectType1组成的数组
//personObjectType2Array是由10000个personObjectType2组成的数组
对于(变量i=0;i
一个循环会比另一个循环运行得快吗?为什么

编辑:
回答是没有区别,有人能说为什么吗?

可能是因为代码需要第一次编译通过。通过先调用所有方法,然后执行,您将获得最佳指标。
顺便说一句,循环之间的性能差异可以忽略不计,使用循环的可读性优势对性能的好处微乎其微。

两个阵列的性能似乎几乎相同

var personObjectType1Array=[];
变量personObjectType2Array=[];

对于(var i=0;i,您可以在控制台中检查两者所花费的时间。属性越多,执行时间越长。
var personObjectType1=
{
名称:“xyz”,
年龄:12岁,
滚动:23,
代码:29,,
身高:26,
地址:{“街号”:121,“城市”:“新德里”}
};
var personObjectType2={name:'xyz'};
var t0=performance.now();
对于(变量i=0;ilog(“对personObjectType2的调用花费了“+(t3-t2)+”毫秒。”)
您试过并看到了吗?
对象
是不可移植的。这可能是重复的,因为运行这两个代码没有时间差,访问属性值的时间消耗似乎是相同的,无论是更多还是更少。您是否有任何演示,其中性能的变化超出了我们可以探讨的范围