js 賦值問題

2021-07-31 05:09:36 字數 590 閱讀 7835

var foo = ;

var bar = foo;

foo.x = foo = ;

輸出foo.x

foo.x

undefined

為什麼呢?

先看前面兩句

var foo = ;

var bar = foo;

這兩句的意思是定義了foo為乙個物件,並且讓bar指向這個物件。這很簡單。

foo.x = foo = ;

//等價於

foo.x = (foo = );

注意,此時得到foo的成員x,foo這個成員此時指向的還是這個物件。再計算賦值符右邊,發現此時foo指向的是

所以,foo.x指向的是,所以這個物件會新增乙個x屬性,該屬性的值指向

驗證答案

輸出bar

bar

}

js賦值問題

js 引用 賦值 物件複製 陣列複製等 獲取基礎引數列表資料 getedittabledata event this.fieldconfdtos event 今天在用angular做父子元件的一些資料傳遞和處理時發現,子元件通過事件傳給父元件的資料被父元件處理後影響到了子元件。event是子元件傳遞...

JS陣列與物件賦值問題

最近有群友遇到乙個問題 就是給陣列賦值遇到的一些問題 正好自己也不了解 就去網上查了一些資料 在這裡做一下總結 問題1 把 a 賦值給 b 改變 b 的值發現 a 的值也被改變了,這和我們想象的不一樣,為什麼呢?1.陣列 var a 1 2 var b a b 0 3 console.log a 3...

js中關於引用變數賦值問題

n個引用變數指向同乙個物件,通過其中乙個變數修改物件內部資料,其它所有變數看到的是修改之後的資料。var obj1 var obj2 obj1 將obj1的內容儲存給obj2 obj1.name jack obj2.age 18 console.log obj2.name jack console....