当出现疑问时,我正在考虑在 JS 中声明 var。同时设置两个 vars 的值的优先级是什么?看:
var a = 1,
b = 1;
使用此代码,a
在之前声明b
。但是这段代码呢
var a = b = 1;
哪个先收到价值?a
还是b
?
当出现疑问时,我正在考虑在 JS 中声明 var。同时设置两个 vars 的值的优先级是什么?看:
var a = 1,
b = 1;
使用此代码,a
在之前声明b
。但是这段代码呢
var a = b = 1;
哪个先收到价值?a
还是b
?
它被评估为
var a = (b = 1);
因此,b
首先获取值。
请注意,这与第一个片段不同:如果尚未在全局范围内,b
则将成为全局变量(如果之前未声明)。这将导致严格模式下的错误。
可以在规范中找到正式的描述。