可以永远存在的差异:JavaScript对象字面:属性名称作为字符串与 “原始”
var x = {
hello: 'world'
};
和
var x = {
'hello': 'world'
};
?
也就是说,在什么情况下,赋予属性名称作为字符串的结果与将其作为“原始”名称的结果不同?例如,我知道var x = {}; x['@£$%'] = 'bling!';
是有效的(因为任何字符串都可以是属性),但[email protected]£$% = 'bling!'
不起作用。也不会语言的关键字或保留的关键字作为属性名称(所以var x = {for: 'good', class: 'y'};
将无法正常工作。
还有别的吗?
例如,如果
var hello = 'goodbye';
在上面的例子中定义?还是什么否则,像
function hello() {
return 'goodbye';
}
?
为了安全起见,我是否应该始终使用我的财产名称字符串?
看一看[这个问题](http://stackoverflow.com/questions/2348867/why-are-s ome-object-literal-properties-quoted-and-others-not) – Flash 2011-04-26 02:53:30