分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

浅谈js最基础的 浅拷贝和 深拷贝

发布时间:2023-09-06 02:22责任编辑:董明明关键词:js

1.浅拷贝 就是一个对象的 值类型的复制

 ???var dog = { ???????name : ‘小黄‘, ???????// bark : function(){ ???????// ????console.log(‘汪汪汪!‘) ???????// }, ???????son :{ ???????????name: ‘小小黄‘ ???????} ???} ???var dog1 = {} ???for(var k in dog){ ???????dog1[k] = dog[k]; ???} ??dog1.name = "小黑" ??console.log(dog.name)/* 小黄*/ ??console.log(dog1.name) /*小黑 浅拷贝 对象的属性拷贝 值类型复制*///dog1有了dog 的属性且成为了自己的私有属性

2.深拷贝 就是一个对象的 值类型 和引用类型的 复制

 ????var dog = { ???????name : ‘小黄‘, ???????// bark : function(){ ???????// ????console.log(‘汪汪汪!‘) ???????// }, ???????son :{ ???????????name: ‘小小黄‘ ???????} ???} ?var dog2 = {} for(var k in dog){ ???????if(typeof(dog[k]) == ‘object‘){ ???????????var temp = {} ???????????for(var j in dog[k]){ ?????????????????temp[j] = dog[k][j] ?????????????????????????} ???????????dog2[k] =temp ???????}else{ ???????????dog2[k] = dog[k]; ???????} ???} ???dog2.son.name = "小小黑" ???console.log(dog.son.name) ?/*深拷贝 对象中引用类型的复制*/ ???console.log(dog2.son.name)

浅谈js最基础的 浅拷贝和 深拷贝

原文地址:https://www.cnblogs.com/adi99/p/9956638.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved