var A = {
b: 6,
c : function(){
alert(5);
}
}
var B = {
sd: "sdff"
}
var C = {
b: 4,
c : function(){
alert(5);
}
}
var map = {
};
var map = {};
map[A] = {};
map[B] = {s:1};
map[C] = {s:3};
alert(map[A].s);
alert(map[B].s);
alert(map[C].s);
最后三个alert全是3也就是说map[C]一下就覆盖了前面的map[A],map[B]那现在需要一个key-value容器,希望object做key怎么搞呢
自己的意思是不能转换成代码的 要按语言的特性来写代码
另外,如果A,B,C不是object而是function的话就能达到三个键值对的效果
var x={
xx:null,//{},[],null,"字符串",数值,function
"x1":null,//{},[],null,"字符串",数值,function
}
alert(x.xx)
alert(x["x"])
alert(x["x1"])
m[object]===>m[object.toString()]var a={},b={},c={};
则 a.toString()==b.toString()==c.toString();所以 m[a]===m[b]===m[c]