91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript深拷貝與淺拷貝

發布時間:2020-06-05 09:51:20 來源:網絡 閱讀:466 作者:sky星辰01 欄目:web開發

1.先看一個例子:
JavaScript深拷貝與淺拷貝
從中可以看出,obj1拷貝了obj的值,但只是進行了地址的引用,修改obj1的值也影響到了obj的值,沒有創建新對象。

淺拷貝:對基本數據類型進行值傳遞,對引用數據類型進行引用傳遞般的拷貝。

深拷貝:對基本數據類型進行值傳遞,對引用數據類型,創建一個新的對象,并復制其內容

obj2= {
name: 'LiLei',
school: 'HBUT',
age: {
age: '3'
},
run: function aa () {console.log(this.name)}
}
JavaScript深拷貝與淺拷貝
父對象的屬性等于數組或另一個對象,那么實際上,子對象獲得的只是一個內存地址(obj3.grade===obj2.grade),而不是真正的拷貝

對于上面的對象,如何實現深拷貝
JavaScript深拷貝與淺拷貝

function deepCopy (obj) {
temp = obj.constructor === Array ? [] : {}
for (let val in obj) {
temp[val] = typeof obj[val] == 'object' ? deepCopy(obj[val]) : obj[val]
}
return temp
}
實現對父對象中的數組或者對象屬性進行循環拷貝

2.Object.assign(目標對象,拷貝來源)
正在做的一個vue項目中,頻繁使用Object.assign來實現對像的拷貝。
當源目標中屬性都是直接類型時,此時是深拷貝;當源目標中含有引用類型的屬性時,此時是淺拷貝。

JavaScript深拷貝與淺拷貝
例子中obj2的屬性grade對象只是引用傳值,沒有實現真正的拷貝。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潮安县| 邛崃市| 延长县| 金门县| 江西省| 鸡东县| 高雄县| 沐川县| 平遥县| 沾益县| 濉溪县| 合阳县| 铜鼓县| 金昌市| 将乐县| 靖边县| 天气| 西青区| 临颍县| 昌都县| 双城市| 湛江市| 白朗县| 兴业县| 始兴县| 色达县| 平远县| 安福县| 桐庐县| 秀山| 略阳县| 全州县| 寿光市| 通许县| 扬中市| 山西省| 名山县| 惠安县| 拉萨市| 蒲城县| 泗水县|