Rumah  >  Artikel  >  hujung hadapan web  >  js对象深度克隆实例详解

js对象深度克隆实例详解

小云云
小云云asal
2018-03-12 16:23:521594semak imbas

克隆对象在开发过程中经常会遇到,有些时候需要浅克隆,有些时候需要深克隆,本文主要和大家分享js对象深度克隆实例详解,希望能帮助到大家。

// 深度克隆
function deepClone(origin, target) {
var target = target || {};
for (var prop in origin) {
if (origin.hasOwnProperty(prop)) {
if (origin[prop] !== null && typeof origin[prop] === 'object') {
target[prop] = Object.prototype.toString.call(origin[prop]) === '[object Array]'? [] : {};
deepClone(origin[prop], target[prop]);
} else {
target[prop] = origin[prop]
}
}
}
}
var obj = {
name: 'name',
arr: [1, 2, 3],
obj: { a: 'a' },
f: function () {
}
}
var obj1 = {};
deepClone(obj, obj1)
console.log(obj1)

相关推荐:

一行代码实现纯数据json对象的深度克隆实现思路_javascript技巧

JavaScript对象之深度克隆介绍_javascript技巧

克隆对象的方法实例教程

Atas ialah kandungan terperinci js对象深度克隆实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:原生js代码实现商品筛选方法Artikel seterusnya:less简单实用的案列