【发布时间】:2013-11-05 00:37:54
【问题描述】:
选项 A:
myobj = {
a: 'a',
a1: 'a1',
a2: 'a2',
a2a: 'a2a',
a2b: 'a2b',
a3: 'a3',
a3a: 'a3a',
a3a1: 'a3a1',
a3a2: 'a3a2',
b: 'b',
// ...
};
对比选项 B:
myobj = {
a: {
a1: 'a1',
a2: {
a2a: 'a2a',
a2b: 'a2b'
},
a3: {
a3a: {
a3a1: 'a3a1',
a3a2: 'a3a2'
}
}
},
b: { ... }
};
我正在权衡这作为一个设计决定。这是一个更简单的例子:
选项 A:
eventHandler: {
triggerObj: triggerObj,
triggerAction: triggerObj.someMethod,
responseObj: responseObj,
responseAction: responseObj.someMethod
}
对比选项 B:
eventHandler: {
trigger: {
obj: triggerObj,
action: triggerObj.someMethod
},
response: {
obj: responseObj,
action: responseObj.someMethod
}
}
我很确定这就像眼科医生:他们是如此接近,这并不重要。但是,我想看看是否有任何可靠的理由来提高表现,或者只是为了语义/可读性/其他。
回到问题标题:需要多少额外的对象括号才能产生显着的性能问题?我怀疑即使是几 1000 甚至 1,000,000 也会很重要:-\
【问题讨论】:
-
医生知道一两件事。尤其是眼科医生。
-
是的,机器完成所有工作
-
为什么不创建一百万个元素,然后查看开发者工具中的内存图,看看它们的比较?
-
您有性能问题吗?如果不是,您正在预优化,并且您的代码在此过程中的连贯性降低。
-
@Barmar 是的,我应该学习如何做到这一点。
标签: javascript