声明顺序和分配
问题描述:
function() { var w = new Object(), w.x = 10, y = 11; }
SyntaxError: Expected ';'
然而,声明顺序和分配
function() { var w = new Object(), x = w, y = 11; }
不产生错误和X确实有W上。第一个有什么问题?
答
您不能声明变量名为w.x
。
答
var
关键字用于声明变量。
您可以在var
关键字后面的逗号分隔列表中唯一放置的内容是变量声明。
因此,你的第一个语法是无效的 - 它读作声明三个变量(w
,w.x
和y
)。
对w.x
的分配是一个语句(它向x
的w
属性赋值),而不是变量声明,因此需要用分号来终止var
语句。
+0
谢谢SLaks,我试图在w中声明一个不正确的变量。 – Murali 2009-12-31 21:15:36
哎呀,是的愚蠢的问题,我在想什么!谢谢。 – Murali 2009-12-31 21:14:16