可以有以下区别:
var x = {
hello: 'world'
};
Run Code Online (Sandbox Code Playgroud)
和
var x = {
'hello': 'world'
};
Run Code Online (Sandbox Code Playgroud)
?
也就是说,在什么条件下将属性名称作为字符串赋予不同的结果而不是将其作为"原始"名称?例如,我知道这var x = {}; x['@£$%'] = 'bling!';是有效的(因为任何字符串都可以是属性),但x.@£$% = 'bling!'不起作用.语言关键字或保留关键字都不会作为属性名称(因此var x = {for: 'good', class: 'y'};不起作用.
还要别的吗?
例如,如果
var hello = 'goodbye';
Run Code Online (Sandbox Code Playgroud)
在上面的例子中定义了什么?或者别的,比如
function hello() {
return 'goodbye';
}
Run Code Online (Sandbox Code Playgroud)
?
我应该总是将我的属性命名为字符串,只是为了安全吗?
javascript ×1