Sz
課前
Vue新手夏令營
備註
找資料的時候看到很多種說法,可能要留意一下是不是在講同件事XD
傳參照、傳參、call by reference、pass by reference
參考(參照、reference) ,指的是他們存在的記憶體空間
傳參考會共用同一個記憶體空間,不會複製
不論物件、陣列都是用傳參考方式賦值,
賦值後彼此有 link 關係,其中一方被更改,兩方都會一起更新
有個 person 物件
person2 與 person 建立了一個 link 關係
在 person2 裡不論更改 key, 或是內部 obj 的 key 都會更新原本資料
再額外建立一個 obj2 跟 obj 建立 link 關係(還不知道為什麼要這麼做)
直接打 person2.obj.{key} 也會更新 person.obj
有個 funciton 專門修改 object 的某個 key
不論這個 function 帶入 person, person2 都會被更新
開發時如果沒有留意到傳參考特性,會很容易不小心修改到原本的資料
避免此狀況可使用
最外層的 object 是新建的,內層若有其他 object 還是保留傳參考特性,程式碼較單純
將轉為字串再轉回 object 的 object 賦值在 newObject 上
兩者已經沒有關係了