2012-01-21 6 views
4

Я делаю веб-приложение, и когда я начал писать код в JavaScript Я получаю эту ошибку:Синтаксическая ошибка: неожиданный маркер «-»

Syntax error: unexpected token "-" javascript 

Я использую Aptana Studio 3. Я думал, что это проблема Аптаны, поэтому я попытался с 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; 
} 

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

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

ответ

6

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

+1

Что вы имеете в виду? потому что проблема кажется «-», поскольку я попытался заменить «-» на «_» и, похоже, работает :) – Totoro

+0

Да, @alisnehx, это правильно. JavaScript не разрешает «-» в идентификаторах. – Pointy

+0

Спасибо. Кажется, у меня есть большая проблема, так как у меня есть автоматически сгенерированный длинный код с cxf apache от wsdl до js..So, это невозможно, чтобы потихоньку заменить всех из них! – Totoro

2

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

5

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

function www_ebest_eu_company_node_service_task-slot-info() { 

// Should proabbly be 
function www_ebest_eu_company_node_service_task_slot_info() { 
//---------------------------------------------^^^^^^^^ 
+0

О, да, спасибо! Я замечаю это на самом деле, поэтому нет способа принять «-» как часть имени функции? – Totoro

3

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

Смежные вопросы