语法错误:意外标记“-”

Posted

技术标签:

【中文标题】语法错误:意外标记“-”【英文标题】:Syntax error: unexpected token "-" 【发布时间】:2012-01-21 14:33:11 【问题描述】:

我正在做一个网络应用程序,当我开始用 javascript 编写代码时,我收到了这个错误:

Syntax error: unexpected token "-"  javascript 

我正在使用 Aptana Studio 3。我认为这是 Aptana 的问题,所以我尝试使用 Eclipse,但仍然遇到同样的错误。 Eclipse 向我显示了这个错误:

Cannot return from outside a function or method.

这是我的功能:

function www_ebest_eu_company_node_service_task-slot-info () 
    this.typeMarker = 'www_ebest_eu_company_node_service_task-slot-info';
    this._endDateTime = null;
    this._number = null;
    this._orderId = null;
    this._startDateTime = null;
    this._taskId = null;
    this._taskStatus = null;

我有很多这样的函数,但对于每个函数,我都会遇到相同的错误。

有人遇到同样的问题吗?

【问题讨论】:

【参考方案1】:

www_ebest_eu_company_node_service_task-slot-info 不是有效的 JavaScript 标识符。

【讨论】:

你是什么意思?因为问题似乎是“-”,因为我尝试用“_”替换“-”并且它似乎有效:) 是的,@alisnehx,没错。 JavaScript 不允许在标识符中使用“-”。 谢谢..看来我有一个大问题,因为我有一个从 wsdl 到 js 的带有 cxf apache 的自动生成的长代码..所以不可能用托盘替换很多人! @alisnehx 您将不得不更改代码生成工具,或者编写一个短程序来更改自动生成的输出。【参考方案2】:

您不能在 JavaScript 函数名称中使用连字符:

function www_ebest_eu_company_node_service_task-slot-info () 

// Should proabbly be
function www_ebest_eu_company_node_service_task_slot_info () 
//---------------------------------------------^^^^^^^^

【讨论】:

哦,是的,谢谢!事实上我注意到了,所以没有办法像函数名的一部分一样接受“-”?【参考方案3】:

连字符“-”不是命名变量或函数的有效字符。连字符用于算术、减法,而不是用于命名变量。您可以将连字符替换为下划线或使用 CamelCase 表示法。

【讨论】:

【参考方案4】:

标识符(函数、变量等)名称中不允许使用破折号。与下划线或驼峰式保持一致。

【讨论】:

以上是关于语法错误:意外标记“-”的主要内容,如果未能解决你的问题,请参考以下文章

意外标记 `' ` 附近的语法错误

原因:意外标记“fi”附近的 Bash 语法错误

Bash 脚本:意外标记附近的语法错误?

bash - 意外标记“<”附近的语法错误

语法错误:使用 renderToString(<RoutingContext ...renderProps /> 时出现意外标记 <

hadoop 3.1.2 ./start-all.sh 错误,意外标记 `<' 附近的语法错误