我一直在努力理解为什么访问嵌套对象的速度更快。
我们有一个小基准。
var nested1 = {level1: null};
var nested2 = {level1: {level2: null}};
var nested3 = {level1: {level2: {level3: null}}};
var nested4 = {level1: {level2: {level3: {level4: null}}}};
在定义测试对象后,我们对访问结果进行基准测试。
nested1.level1;
比
慢14%nested4.level1.level2.level3.level4;
但是怎么可能呢? 这是jsPerf
此问题与缓存深层嵌套变量无关。我只是想了解是什么让某些浏览器更快地引用了深度引用。