当我怀疑时,我正在考虑在JS中声明vars。同时设置两个变量值的优先级是什么?参见:
var a = 1,
b = 1;
使用此代码,a
之前会声明b
。但是这段代码呢?
var a = b = 1;
哪一个确实首先获得了价值? a
或b
?
答案 0 :(得分:3)
评估为
var a = (b = 1);
因此,b
首先获得值。
请注意,这与第一个代码段不同:如果尚未在全局范围内,b
将成为全局变量(如果之前未声明)。这会在严格模式下导致错误。
可在specification中找到正式说明。