-1

我在这里阅读堆栈溢出,这些不相等。那么区别是什么呢。

发生的事情是,在第二种情况下,值被分配为 myObj 的属性。所以如果 b='abc'; 然后 myObj.abc 现在可用。

我一直在想同样的事情,但是[]当名字很奇怪时使用了版本。

4

3 回答 3

4

点表示法采用一个标识符,即属性名称。方括号表示法接受属性名称的字符串表示。

给定var a = "a";thenmyObj.a = bmyObj[a] = bandmyObj["a"] = b 等价的。

于 2013-06-25T17:42:08.040 回答
0

很多,结果将取决于avar 值。但["a"].a

于 2013-06-25T17:42:07.800 回答
0

myObj.a=b和之间的区别在于myObj[a]=b,在第一种情况下,您正在访问对象中调用的属性a。在第二个中,您正在访问名称位于名为的变量a中的属性。

另一方面,myObj.a=bmyObj["a"]=b将是等价的。

于 2013-06-25T17:43:02.337 回答