左手优先

时间:2012-06-13 22:54:50

标签: javascript

当我怀疑时,我正在考虑在JS中声明vars。同时设置两个变量值的优先级是什么?参见:

var a = 1,
b = 1;

使用此代码,a之前会声明b。但是这段代码呢?

var a = b = 1;

哪一个确实首先获得了价值? ab

1 个答案:

答案 0 :(得分:3)

评估为

var a = (b = 1);

因此,b首先获得值。

请注意,这与第一个代码段不同:如果尚未在全局范围内,b将成为全局变量(如果之前未声明)。这会在严格模式下导致错误。

可在specification中找到正式说明。