【问题标题】: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;
}

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

有人遇到同样的问题吗?

【问题讨论】:

    标签: javascript syntax-error


    【解决方案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】:

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

      【讨论】:

        猜你喜欢
        • 2013-09-04
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        • 1970-01-01
        相关资源
        最近更新 更多