我在这里读到堆栈溢出,这些不相等。那有什么区别。
在第二种情况下,值被指定为myObj的属性。所以,如果b ='abc'; 然后myObj.abc现已可用。
我一直都认为同样的事情,但是当名字很奇怪时,我会使用[]
版本。
答案 0 :(得分:4)
Dot notation采用属性名称的标识符。方括号表示法接受属性名称的字符串表示形式。
鉴于var a = "a";
,myObj.a = b
和myObj[a] = b
以及myObj["a"] = b
等同于。
答案 1 :(得分:0)
很多,结果取决于a
var值。但["a"]
与.a
答案 2 :(得分:0)
myObj.a=b
和myObj[a]=b
之间的区别在于,在第一种情况下,您正在访问对象中名为a
的属性。在第二个中,您正在访问名称位于名为a
的变量中的属性。
另一方面,myObj.a=b
和myObj["a"]=b
是等效的。