当前位置: 首页 > news >正文

郑州网站制作郑州网站制作案例东莞网站建设seo

郑州网站制作郑州网站制作案例,东莞网站建设seo,普通电脑怎么建设网站,如何开一家网络营销公司对于原始数据类型#xff0c;并没有深浅拷贝的区别#xff0c;深浅拷贝都是对于引用数据类型而言#xff0c;如果我们要赋值对象的所有属性都是引用类型可以用浅拷贝 浅拷贝#xff1a;只复制一层对象#xff0c;当对象的属性是引用类型时#xff0c;实质复制的是其引用并没有深浅拷贝的区别深浅拷贝都是对于引用数据类型而言如果我们要赋值对象的所有属性都是引用类型可以用浅拷贝 浅拷贝只复制一层对象当对象的属性是引用类型时实质复制的是其引用当引用值发生改变时也会跟着改变 深拷贝深拷贝是另外申请了一块内存内容和原来一样更改原对象拷贝对象不会发生改变 1、 浅拷贝实现 for in 遍历实现 let shallCopy obj{let rst{}for(let key in obj){//只复制本身的属性非继承过来的属性枚举属性if(obj.hasOwnProperty(key)){rst[key]obj[key]}}return rst}let start {name:古力娜扎,age:22,friend:{name:邓超}}let copyStartshallCopy(start)copyStart.name热巴copyStart.friend.name黄渤// 拷贝的第一层层如果是引用类型拷贝的其实是一个指针所以拷贝对象改变会影响原对象console.log(start.name,opyStart.friend.name) //古力娜扎 黄渤Object.assign(target,source) (适用于对象) 可以把 n 个源对象拷贝到目标对象中去拷贝的是可枚举属性 let start {name: 古力娜扎,age: 22,friend: {name: 邓超} } let returnedTarget Object.assign({}, start)扩展运算符... let start { name: 刘亦菲 } let newStart { ...start } newStart.name 迪丽热巴 console.log(start.name) // 刘亦菲slice(适用于数组) let a [1, 2, 3, 4] let b a.slice() b[0] 9 console.log(a) //[1,2,3,4]3 、深拷贝实现 JSON.parse(JSON.string(obj)) let obj {name: 小明,dog: [小花, 旺财] }let obj1 JSON.parse(JSON.stringify(obj)) obj1.name 小华 obj1.dog[0] 小白 console.log(obj) // {name: 小明, dog: [小花, 旺财]} // 原数组并没有改变说明实现了深拷贝let richGirl [{name: 开心,car: [宝马, 奔驰, 保时捷],deive: function() {},age: undefined} ]let richBoy JSON.parse(JSON.stringify(richGirl)) console.log(richBoy) /*1. 当属性值为undefined或函数则序列化的结果会把函数或 undefined丢失2. 对象中存在循环引用的情况也无法正确实现深拷贝3. Symbol,不能被JSON序列化4. RegExp、Error对象JSON序列化的结果将只得到空对象5. 会丢失对象原型*/递归实现深拷贝 let deepClone obj {let newObj Array.isArray(obj) ? [] : {}if (obj typeof obj object) {for (let key in obj) {if (obj.hasOwnProperty(key)) {if (obj[key] typeof obj[key] object) {newObj[key] deepClone(obj[key])} else {// 如果不是对象直接拷贝newObj[key] obj[key]}}}}return newObj }let richGirl {name: 开心,car: [宝马, 奔驰, 保时捷],deive: function() {},age: undefined }let richBoy deepClone(richGirl)richBoy.deive 渣男开大G richBoy.name 小明 richBoy.car [哈罗单车, 膜拜] richBoy.age 20console.log(richGirl) console.log(richBoy)4、 第三方库实现拷贝 //cloneDeep 深拷贝 clone浅拷贝此例子介绍深拷贝 const _ require(lodash) //全部引入 const cloneDeep require(lodash/cloneDeep) //引入单个方法用的方法少建议用这种方式引入 let obj {name: 开心,car: [宝马, 奔驰, 保时捷],deive: function() {},age: undefined } const newObj cloneDeep(obj) newObj.name 不开心 newObj.car[0] 自行车 console.log(obj, newObj) // 原对象不会改变
http://www.pierceye.com/news/601720/

相关文章:

  • 做网站地图泰安百度公司代理商
  • 网站后台管理员密码汽车网站更新怎么做
  • 广东省网站备案查询怎么建设网站空间和备案
  • 企业网站软件下载红木家具网站模板
  • 如何创建网站步骤湖北网站制作公司的联系方式
  • 佛山建网站费用seo推广效果怎么样
  • 如何选择网站建设公司永州网页定制
  • 淮北市重点工程建设局网站重庆哪家网站
  • 音乐网站开发背景及意义自定义建设网站
  • 商标设计网站猪八戒宝塔一键wordpress
  • 公司网站用什么开发网站 建设 计划书
  • 安陆市城乡建设局网站w10怎么做信任网站
  • wordpress上站工具内网门户网站
  • 商城网站服务器漳浦建设银行网站
  • 可视化 网站开发工具音乐网站后台管理模板
  • 网站架构功能模块及描述网站聊天怎么做
  • 京东电子商务网站的建设做网站运营需要什么资源
  • 市北建筑建网站哪家好个体户可以做网站吗
  • 怎么建自己的网站?网站优化包括哪些内容
  • 网站后台登录域名国外网站网站app
  • 山西建设工程协会网站wordpress二次元主题个人
  • 加强人社局网站建设获取小程序api
  • 服务器网站备案学生ppt模板免费下载 素材
  • 手机做网站软件运营管理培训
  • 迅博威网站建设南宁 建网站 公司
  • 河北省建设机械协会是正规网站吗网站及网页设计费用
  • 门户网站seo前期铁岭网站建设移动网站
  • 肇庆免费模板建站jsp电商网站开发流程图
  • 阿里巴巴国际站网站建设青岛网站搭建公司哪家好
  • 能看人与动物做的网站浙江企业响应式网站建设设计