我正在尝试找出对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)
这篇文章详细介绍了有效的javascript变量名,“-^ colour”显然无效(作为变量名)。对象属性名称是否也一样?综上所述,我正在尝试确定
b ['-^ colour']无效,但是在所有浏览器中都存在古怪的现象,我不应该相信它会继续向前发展
b ['-^ colour']是完全有效的,但是它的形式只能以这种方式访问-(受支持,因此对象也许可以用作地图?)
还有别的
顺便说一句,在javascript中的全局变量可能在顶层声明为
var abc = 0;
但也可以(据我所知)与
window['abc'] = 0;
以下适用于所有上述浏览器
window['@£$%'] = "bling!";
alert(window['@£$%']);
这有效吗?似乎与变量命名规则相矛盾-还是我不在那里声明变量?变量和对象属性名称之间有什么区别?
慕雪6442864
白猪掌柜的
偶然的你
相关分类