选项 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 也会很重要:-\