我在这里阅读堆栈溢出,这些不相等。那么区别是什么呢。
发生的事情是,在第二种情况下,值被分配为 myObj 的属性。所以如果 b='abc'; 然后 myObj.abc 现在可用。
我一直在想同样的事情,但是[]当名字很奇怪时使用了版本。
我在这里阅读堆栈溢出,这些不相等。那么区别是什么呢。
发生的事情是,在第二种情况下,值被分配为 myObj 的属性。所以如果 b='abc'; 然后 myObj.abc 现在可用。
我一直在想同样的事情,但是[]当名字很奇怪时使用了版本。
点表示法采用一个标识符,即属性名称。方括号表示法接受属性名称的字符串表示。
给定var a = "a";thenmyObj.a = b和myObj[a] = bandmyObj["a"] = b 是等价的。
很多,结果将取决于avar 值。但["a"]与.a
myObj.a=b和之间的区别在于myObj[a]=b,在第一种情况下,您正在访问对象中调用的属性a。在第二个中,您正在访问名称位于名为的变量a中的属性。
另一方面,myObj.a=b和myObj["a"]=b将是等价的。