function() { var w = new Object(), w.x = 10, y = 11; }
SyntaxError: Expected ';'
而,
function() { var w = new Object(), x = w, y = 11; }
没有产生错误,x确实没有错误。第一个出了什么问题?
答案 0 :(得分:3)
您不能声明名为w.x
的变量。
答案 1 :(得分:3)
var
关键字用于声明变量。
您可以在var
关键字后面的逗号分隔列表中添加的唯一内容是变量声明。
因此,您的第一个语法无效 - 它被读作声明三个变量(w
,w.x
和y
)。
w.x
的赋值是一个语句(为w
的{{1}}属性赋值),而不是变量声明,所以你需要一个分号来终止x
言。