2009-12-31 129 views
0
function() { var w = new Object(), w.x = 10, y = 11; } 
SyntaxError: Expected ';' 

然而,聲明順序和分配

function() { var w = new Object(), x = w, y = 11; } 

不產生錯誤和X確實有W上。第一個有什麼問題?

回答

3

您不能聲明變量名爲w.x

+1

哎呀,是的愚蠢的問題,我在想什麼!謝謝。 – Murali 2009-12-31 21:14:16

3

var關鍵字用於聲明變量。

您可以在var關鍵字後面的逗號分隔列表中唯一放置的內容是變量聲明。

因此,你的第一個語法是無效的 - 它讀作聲明三個變量(ww.xy)。
w.x的分配是一個語句(它向xw屬性賦值),而不是變量聲明,因此需要用分號來終止var語句。

+0

謝謝SLaks,我試圖在w中聲明一個不正確的變量。 – Murali 2009-12-31 21:15:36