由於此對象的引用類型指向的都是一個地址(除了基本類型跟null,對象之間的賦值,只是將地址指向同一個,而不是真正意義上的拷貝)
數組:
let a = [11,22,33]; let b = a; // 這個時候的賦值只是把b的指向地址指向a,所以a b 是同一塊物理地址 b.push(44); //這個時候 a和b元素都是 [11,22,33,44]
對象:與數組同理
這樣的情況下 如果我們不需要這種雙向數據綁定的時候該怎么辦呢?
解決辦法:小技巧
copyDeep(templateData) { // templateData 是要復制的數組或對象,這樣的數組或者對象就是指向新的地址的 return JSON.parse(JSON.stringify(templateData)); }