【发布时间】:2019-01-15 13:57:14
【问题描述】:
我认为如果您使用其中任何一个,这对性能几乎没有影响,但我想知道是否使用其中一个更好。
鉴于我有:
var a = { b: {c: { d: ... }}};
var ref = a.b.c.d;
我应该直接使用 a.b.c.d 还是创建并使用一个引用,这里命名为 'ref'?
此外,如果有一个 getter 函数返回具有多个复杂级别的对象:
var a = { b: {c: { d: ... }}};
function getObject() {
return a;
}
var ref = getObject();
getObject().b.c.d 和 ref 有区别吗?
我知道这并不重要,但我的强迫症不允许我休息。 :D
【问题讨论】:
-
两个 sn-ps 有不同的目的,但是,都在做同样的事情。如果您不需要
getObject(),那您为什么要首先创建它? -
这样的属性访问有(很小的)开销。直接访问
d会更快。现在的重点是:什么时候开销大于声明一个新变量的开销?最后,选择你最舒服的。两者都不会导致明显的性能差异。 -
纳秒无关紧要。如果它们很重要,请编写程序集。
-
@JonasW:这个问题是 iPhone 特有的。
-
@JonasW.:或者找一个专门讨论这个主题的人。
标签: javascript reference