分享web开发知识

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

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

js对象深拷贝

发布时间:2023-09-06 02:00责任编辑:苏小强关键词:js
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<meta name="viewport" content="width=device-width, initial-scale=1.0"> ???<meta http-equiv="X-UA-Compatible" content="ie=edge"> ???<title>Document</title></head><body> ???</body><script> ???function deepCopy(obj){ ???????//确定入参啥数组还是对象 ???????var objArray = Array.isArray(obj) ? []:{}; ???????//obj存在,且类型为对象 ???????if(obj && typeof obj === ‘object‘){ ???????????//遍历对象属性 ???????????for(key in obj){ ???????????????//判断对象属性是否属于自身 ???????????????if(obj.hasOwnProperty(key)){ ???????????????????//判断obj子属性是否为对象,如果是,递归操作,否 将对象保存 ???????????????????if(obj[key] && typeof obj[key] === ‘object‘){ ???????????????????????objArray[key] = deepCopy(obj[key]) ???????????????????}else{ ???????????????????????objArray[key] = obj[key] ???????????????????} ???????????????} ???????????} ???????} ???????return objArray; ???} ???var obj1 = { ???????nan:1, ???????bei:null, ???????dong:undefined, ???????xi:{ ???????????xinan:2, ???????????xibei:function(){ ???????????????let b = 2 ???????????} ???????}, ???????fn:function(){ ???????????let a = 1; ???????}, ???????a:[1,2] ???} ???var obj2 = deepCopy(obj1) ???console.log(obj1) ???obj2.xi.xinan = 5; ???console.log(obj2)</script></html>

js对象深拷贝

原文地址:https://www.cnblogs.com/bigDipper/p/9209100.html

知识推荐

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