【发布时间】:2015-05-09 04:44:03
【问题描述】:
var a = new Object;
var b = new Object;
var c = new Object;
c[a] = a;
c[b] = b;
console.log(c[a] === a);
我测试了上面的代码,得到了false。如果我尝试console.log(c[a] === b),则会打印true。
为什么?
【问题讨论】:
-
你为什么要这样做?
-
@VikashKesarwani - 这是一个很好的问题。很可能他将问题简化为一个简单的例子。
-
它不像你在 c++ 中所做的那样指向,这是分配问题。这种自我披露的形式没有解决方案
-
你想做
c.a = a或c['a'] = a。这是为了设置属性名称,就好像你给它一个字符串一样。c[a]将属性名称设置为与变量a的值相同。 -
console.log(c);谜团解开了。问题很普通。
标签: javascript