4
賦值運算符具有從右到左的關聯性。所以賦值關聯性
var x,y;
x=y=1;
按預期工作和x等於1.現在考慮的代碼:
var foo={};
foo.x = foo = {n: 2};
我希望上述類似下面的工作:
var foo = {n: 2};
foo.x=foo;
然而,在第一種情況foo.x爲undefined
,而第二種情況爲foo.x points to foo
(循環參考)。任何解釋?
任何引用來支持聲稱轉讓表達式從左到右進行評估? – haim770
@ haim770在http://www.ecma-international.org/ecma-262/6.0/中,我發現「* ECMAScript指定從左到右評估表達式*」。 – melpomene