在Javascript中分配变量的顺序是什么?

时间:2011-08-11 19:40:18

标签: javascript variables variable-assignment

显然,这在我的Firebug控制台中是相同的:

var x = "A", y = x;
x + y === "AA";

var x = y, y = "A";
x + y === "AA";

这是标准的ECMAScript行为,订单在逗号分隔的var作业中不起作用吗?

编辑:“神秘”已经解决。我先测试了第一个例子,然后清理了控制台并运行了第二个例子。但是,目前已定义yx。如果你运行David Thomas提供的JSFiddle,你总会得到一个“undefinedA”。案件已经解决。

1 个答案:

答案 0 :(得分:6)

如果未定义var x = y;

y将引发异常。

但是,window对象是嵌入浏览器的Javascript解释器的默认上下文。如果您之前发布过:

y = "A";

然后您实际将"A"分配给window.y,因此var x = y;生效并将window.y分配给x