Синтаксическая ошибка: неожиданный токен -

Я делаю веб-приложение, и когда я начал писать код на 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;
}

У меня много таких функций, и для каждой из них я получаю одну и ту же ошибку.

У кого-нибудь есть такая же проблема?


person Totoro    schedule 21.01.2012    source источник


Ответы (4)


www_ebest_eu_company_node_service_task-slot-info не является допустимым идентификатором JavaScript.

person leppie    schedule 21.01.2012
comment
что ты имеешь в виду? потому что проблема, по-видимому, заключается в том, что я попытался заменить - на _, и, похоже, это работает :) - person Totoro; 21.01.2012
comment
Да, @alisnehx, верно. JavaScript не позволяет - в идентификаторах. - person Pointy; 21.01.2012
comment
Спасибо .. Кажется, у меня большая проблема, так как у меня есть автоматически сгенерированный длинный код с cxf apache из wsdl в js .. Так что невозможно заменить лотки для многих из них! - person Totoro; 21.01.2012
comment
@alisnehx Вам придется изменить инструмент генерации кода или написать короткую программу, которая изменяет автоматически сгенерированный вывод. - person dave4420; 21.01.2012

Вы не можете использовать дефисы в именах функций JavaScript:

function www_ebest_eu_company_node_service_task-slot-info () {

// Should proabbly be
function www_ebest_eu_company_node_service_task_slot_info () {
//---------------------------------------------^^^^^^^^
person Michael Berkowski    schedule 21.01.2012
comment
О да, спасибо! Я заметил это на самом деле, так что нет возможности принять - как часть имени функции? - person Totoro; 21.01.2012

Дефис "-" не является допустимым символом для именования переменных или функций. Дефис используется для арифметики, вычитания, а не для именования переменных. Вы можете заменить дефисы символами подчеркивания или использовать нотацию CamelCase.

person RobB    schedule 21.01.2012

Дефисы не допускаются в именах идентификаторов (функций, переменных и т. д.). Соблюдайте символы подчеркивания или camelCase.

person Madara's Ghost    schedule 21.01.2012