var a = {};
b = {key:'b'};
c = {key:'c'};
a[b] = 123;
a[c] = 456;
console.log(a[b]);//456
原因:key名称只能是string类型的,因此,b先变成string,默认变string类型使用的是toString()方法,而不是valueOf()方法。
console.log(b.toString()); //'[object Object]'
console.log(c.toString()); //'[object Object]'