0

当出现疑问时,我正在考虑在 JS 中声明 var。同时设置两个 vars 的值的优先级是什么?看:

var a = 1,
b = 1;

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

var a = b = 1;

哪个先收到价值?a还是b

4

1 回答 1

3

它被评估为

var a = (b = 1);

因此,b首先获取值。

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

可以在规范中找到正式的描述。

于 2012-06-13T22:56:58.820 回答