Javascript 意外标记-
我有以下工作经验:Javascript 意外标记-,javascript,syntax,syntax-error,Javascript,Syntax,Syntax Error,我有以下工作经验: var varName= { variable_one: 'short_name', variable_two: 'long_name', variable_three: 'long_name', variable_four: 'short_name', variable_five: 'long_name', variable_six: 'short_name' }; 但如果我换成: var varName= { va
var varName= {
variable_one: 'short_name',
variable_two: 'long_name',
variable_three: 'long_name',
variable_four: 'short_name',
variable_five: 'long_name',
variable_six: 'short_name'
};
但如果我换成:
var varName= {
variable-one: 'short_name',
variable-two: 'long_name',
variable-three: 'long_name',
variable-four: 'short_name',
variable-five: 'long_name',
variable-six: 'short_name'
};
它向我显示错误:
意外标记-
然后问题是:它如何逃逸“-”,因为我需要用“-”而不是“-”
我试着放“或”,但没用
谢谢-是,您不能在标识符中使用它。改为在属性名称周围使用带引号的字符串。接受属性名的字符串或标识符。这应该适合您
var varName= {
'variable-one': 'short_name',
'variable-two': 'long_name',
'variable-three': 'long_name',
'variable-four': 'short_name',
'variable-five': 'long_name',
'variable-six': 'short_name'
};
JavaScript将-作为文字减号 JavaScript试图将-解释为负号。您也应该能够简单地将名称放在引号中:
var varName= {
'variable-one': 'short_name',
'variable-two': 'long_name',
'variable-three': 'long_name',
'variable-four': 'short_name',
'variable-five': 'long_name',
'variable-six': 'short_name'
};
将属性名称放在引号中。引号:variable one:value,@Pointy如果属性通常不能用这些名称访问,那会有什么用?@paulstellian-它们通常可以用这些名称访问,只是不能用点符号。方括号符号仍然有效。@Quentin…这是我不喜欢JS的原因之一。。。删除了我的答案。