什么是差异myObj.a = b vs myObj [a] = b

时间:2013-06-25 17:40:11

标签: javascript

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

在第二种情况下,值被指定为myObj的属性。所以,如果b ='abc'; 然后myObj.abc现已可用。

我一直都认为同样的事情,但是当名字很奇怪时,我会使用[]版本。

3 个答案:

答案 0 :(得分:4)

Dot notation采用属性名称的标识符。方括号表示法接受属性名称的字符串表示形式。

鉴于var a = "a";myObj.a = bmyObj[a] = b以及myObj["a"] = b 等同于

答案 1 :(得分:0)

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

相同

答案 2 :(得分:0)

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

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