2012-01-21 141 views
4

我在做一個Web應用程序,當我開始用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; 
} 

我有很多這樣的功能,併爲他們每個人的我得到了同樣的錯誤。

有沒有人有同樣的問題?

回答

6

www_ebest_eu_company_node_service_task-slot-info不是有效的JavaScript標識符。

+1

你是什麼意思?因爲這個問題似乎是「 - 」,因爲我試圖用「_」替換「 - 」,並且它似乎工作:) – Totoro

+0

是的,@alisnehx,沒錯。 JavaScript不允許在標識符中使用「 - 」。 – Pointy

+0

謝謝..看來我有一個大問題,那麼因爲我有一個自動生成的長碼,用csf apache從wsdl到js ..所以不可能用traying代替他們中的每個人! – Totoro

2

標識符(函數,變量等)名稱中不允許有虛線。保持與下劃線或駝峯一致。

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符號。