我要将一些事件记录到json对象中,那么从性能的角度来看,长还是很多子对象会有什么效果呢?
为了更好地解释,请看看这两个对象:
第一(长对象)
var eventsObj = {
target: {
timestamp1: window,
timestamp2: document,
timestamp3: document
},
keyCode: {
timestamp1: 0,
timestamp2: 66,
timestamp3: 67
},
mouseX: {
timestamp1: 1,
timestamp2: 2,
timestamp3: 3
},
mouseY: {
timestamp1: 0,
timestamp2: 1,
timestamp3: 2
}
...etc...
};
第二(多个对象)
var eventsObj = {
timestamp1: {
target: window,
keyCode: 0,
mouseX: 1,
mouseY: 0
},
timestamp2: {
target: document,
keyCode: 66,
mouseX: 2,
mouseY: 1
},
timestamp3: {
target: document,
keyCode: 67,
mouseX: 3,
mouseY: 2
}
...etc...
};
更新
http://jsperf.com/object-performance-long-items-or-many-items
答案 0 :(得分:0)
就内存消耗而言,两者都将(几乎)相同。性能取决于您打算如何迭代和使用对象。
然而,第二种表示更具可读性和语义正确性。
答案 1 :(得分:0)
我说第二个,因为你可能最终会得到几个陈述,包括一个或几个循环,在第一个案例中获得一个事件的数据;而在......中只有一个用于...第二种情况下的循环足以用于检索单个事件的数据