首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问JavaScript对象文本

访问JavaScript对象文本
EN

Stack Overflow用户
提问于 2012-01-27 09:00:15
回答 1查看 1.7K关注 0票数 3

也许只是一个愚蠢的问题,但是,我希望能对以下行为做出解释:

代码语言:javascript
运行
复制
var obj = {
    key : "val1",
    123 : "val2"
};

obj.key; // "val1"
obj.123; // Syntax error: missing; before statement
obj[123]; // "val2"

为什么obj.keyobj.123不同,尽管它们都被声明为obj的键。

以这种方式访问对象文本obj.123是错误的。

以下列方式声明对象是正确的吗?我测试过的浏览器是IE9、火狐和chrome,它们都很好用。

代码语言:javascript
运行
复制
var obj = {
    123 : "val1"
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-27 09:06:40

JavaScript允许您使用几乎任何字符串作为对象属性名称,但是当使用点符号访问属性时,您应该只使用有效的JS标识符--它们必须以字母、下划线或美元符号开头。因此,对于不符合有效标识符规则的属性名称,您必须使用括号符号访问它们。

尽管括号表示法适用于数字,但幕后JS将将该数字转换为字符串。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9030940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档