Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 意外标记-_Javascript_Syntax_Syntax Error - Fatal编程技术网

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的原因之一。。。删除了我的答案。