我正在尝试找出对于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‘-^
顺便说一句,javascript中的全局变量可以在顶层声明为
var abc = 0;
但也可以创建(据我所理解的)
window['abc'] = 0;
下面的代码可以在上述所有浏览器中运行
window['@£$%'] = "bling!";
alert(window['@£$%']);
这是有效的吗?这似乎与变量命名规则相矛盾--或者我没有在那里声明一个变量?变量和对象属性名有什么区别?
https://stackoverflow.com/questions/2940424
复制相似问题