2012-06-13 33 views
0

我在考慮在JS中聲明變量,當有疑問出現時。同時設置兩個變量值的優先級是什麼?請參閱:左側優先

var a = 1, 
b = 1; 

有了這個代碼,ab之前聲明。但是這個代碼怎麼樣

var a = b = 1; 

哪一個確實收到價值? ab

回答

3

它被評價爲

var a = (b = 1); 

因此,b首先獲取的值。

請注意,這與第一個片段不同:如果尚未在全局範圍內,則b將成爲全局變量(如果它之前沒有聲明)。這會在嚴格模式下導致錯誤。

正式的描述可以在specification找到。