CNNIC 基於共治鏈的共治根新型域名解析架構及關鍵技術研究取得重要進展
阿新 • • 發佈:2021-08-06
//基礎資料型別變數和值都儲存在棧中,引用資料型別變數儲存在棧中,值儲存在堆中 //引用資料型別淺拷貝是儲存地址沒有發生改變,指向的是同一個堆,深拷貝是新開闢了一個堆。 // 判斷深拷貝還是淺拷貝,假設B複製了A,A發生了變化,B也隨之發生改變,就是淺拷貝;若B沒變,則是深拷貝 let obj = { name: "jine", sex: "男", car: ["賓士", "寶馬", "奧迪"], dog: { name: "大黃", age: 3, color: "yellow" } } let copyobj = {}; function extend(a, b) { // 分三種情況 for (let key in a) { // 1.如果是陣列 if (a[key] instanceof Array) { b[key] = []; extend(a[key], b[key]); } // 2.如果是物件 else if (a[key] instanceof Object) { b[key] = {}; extend(a[key], b[key]); } // 3.如果是字串/數字 else { b[key] = a[key]; } } } extend(obj, copyobj) obj.car.pop(); console.log(obj); console.log(copyobj);