js連等賦值

2021-08-14 06:54:06 字數 559 閱讀 5006

賦值前:

賦值後:

.運算子優先於=賦值運算,先建立

a.x是乙個位址,a也是乙個位址,a.x建立後,也就有了b.x,它們是同乙個位址

js賦值是右結合的,從右邊開始向左邊賦值,先將賦值給位址a,再將賦值給位址a.x(其實也是b.x,它們是同乙個位址)

另乙個解釋:

解析器在接受到 a.x = a = 這樣的語句後,會這樣做:

1.找到 a.x 和 a 的指標。如果已有指標,那麼不改變它。如果沒有指標,即那個變數還沒被申明,那麼就建立它,指向 null。

2.a 是有指標的,指向 ;a.x 是沒有指標的,所以建立它,指向 null。

然後把上面兩個指標,都指向最右側賦的那個值,即

JS連等賦值的坑

關於js連等賦值有個經典的筆試題 var a var b a a.x a console.log a.x undefined console.log b.x 咋一看,一臉懵逼,這都什麼玩意.我一開始也是這個想法,不過理解之後發現,不是題目坑,確實自己水平還不到位.本文先介紹理解上述筆試題需要的知識點...

JS連等賦值的坑

關於js連等賦值有個經典的筆試題 var a var b a a.x a console.log a.x undefined console.log b.x 咋一看,一臉懵逼,這都什麼玩意.我一開始也是這個想法,不過理解之後發現,不是題目坑,確實自己水平還不到位.本文先介紹理解上述筆試題需要的知識點...

JS中連等賦值的個人理解

var a var b a a.x a console.log a.x undefined console.log b.x 如上,a.x 是 undefined b.x 是 為什麼會這樣呢,我個人理解是這樣的。先把 的記憶體位址看作 位址e 的記憶體位址看作 位址f 瀏覽器在看到 a.x a 這條語...