请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于深拷贝

for (let key in obj) {
		// 保证key不是原型的属性
		if (obj.hasOwnProperty(key)) {
			// 递归调用 !!
			result[key] = deepClone(obj[key]) 
		}
}

// 保证key不是原型的属性还是不太理解
const obj1 = {
	age: 20,
	name: 'xxx',
	address: {
			city: 'beijing'
	},
	arr: ['a', 'b', 'c']
}

这个对象的原型是Object,也就是不会拷贝Object里的属性,这样做是为了拷贝少点,提高效率的意思吗?

正在回答 回答被采纳积分+3

1回答

双越 2020-10-14 21:39:12

拷贝时,不应该拷贝原型里的属性,所以用 hasOwnProperty 判断。

0 回复 有任何疑惑可以回复我~
  • 为啥不需要拷贝原型链里的属性呢,不太懂
    回复 有任何疑惑可以回复我~ 2021-03-09 16:32:41
  • 双越 回复 慕粉3858957 #2
    深拷贝,拷贝的是数据,不是函数和方法。
    回复 有任何疑惑可以回复我~ 2021-03-09 18:31:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信