首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有效的javascript对象属性名称

有效的javascript对象属性名称
EN

Stack Overflow用户
提问于 2010-05-31 05:33:07
回答 3查看 59.6K关注 0票数 77

我正在尝试找出对于javascript对象的属性名来说什么是有效的。例如

代码语言:javascript
复制
var b = {}
b['-^colour'] = "blue";     // Works fine in Firefox, Chrome, Safari
b['colour'] = "green";      // Ditto
alert(b['-^colour']);       // Ditto
alert(b.colour);            // Ditto
for(prop in b) alert(prop); // Ditto
//alert(b.-^colour);     // Fails (expected)

post详细说明了有效的javascript变量名,而'-^colour‘显然是无效的(作为变量名)。这是否同样适用于对象属性名称?看着上面的内容,我想知道如果

颜色b‘-^

  • ’是无效的,但通过怪癖在所有浏览器中都可以工作,我不应该相信它会工作,因为它是完全有效的,但它只是一种只能以这种方式访问的形式-(它是受支持的,因此对象可以用作perhaps?)

  • Something

顺便说一句,javascript中的全局变量可以在顶层声明为

代码语言:javascript
复制
var abc = 0;

但也可以创建(据我所理解的)

代码语言:javascript
复制
window['abc'] = 0;

下面的代码可以在上述所有浏览器中运行

代码语言:javascript
复制
window['@£$%'] = "bling!";
alert(window['@£$%']);

这是有效的吗?这似乎与变量命名规则相矛盾--或者我没有在那里声明一个变量?变量和对象属性名有什么区别?

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

https://stackoverflow.com/questions/2940424

复制
相关文章

相似问题

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