也许这是一个愚蠢的问题,但是我希望能够解释一下以下行为:
var obj = {
key : "val1",
123 : "val2"
};
obj.key; // "val1"
obj.123; // Syntax error: missing; before statement
obj[123]; // "val2"
为什么obj.key
和obj.123
不同,尽管它们都被声明为obj
的键。
以这种方式访问对象字面量obj.123
是错误的。
以下方式声明对象是正确的吗? 我测试过的浏览器有IE9、firefox和chrome,对于所有浏览器都可以正常工作。
var obj = {
123 : "val1"
};