如果我有对象,可以说是3个级别的嵌套,每个嵌套有100个道具,并且有一些迭代函数使用上一级的对象值20次。
使临时变量用于迭代是否更好,或者20次访问属性在效率上几乎相同?
let obj = {a:{b:{c:'nested on level 3 property #89'}}}
//or is better
let temp = obj.a.b.c
for (i = 0; i < 20; i++) {
//what is better to use, obj.a.b.c or temp
}
答案 0 :(得分:1)
如果像示例一样使用它并在全局范围内创建它,则var
将被创建为一个对象,因此对于访问对象属性没有好处。
如果该示例位于函数内部,则var
声明的变量将被区别对待,并且比访问对象属性要快,但是我们正在谈论纳秒级差...
担心那可能太担心了...