当前位置: 首页 > 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.zqtcl.cn/news/601720/

相关文章:

  • wordpress 后台加入链接后_网站显示是标签_不是链接wms智能仓储管理系统
  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好
  • 济南浩辰网站建设公司怎么样wordpress 3.8 问题
  • 柳州正规网站制作公司网站ww正能量
  • 网站seo优化工具网站推广策略方法
  • 企业网站建设知名wordpress 自定义php
  • 用php做的网站有哪些全能网站建设
  • 网站显示正在建设中wordpress 排行榜 页面
  • 手机管理网站网站打开速度优化
  • 做微网站需要什么做的比较好的美食网站有哪些
  • 五金商城网站建设注意wordpress虚拟空
  • 成都工程网站建设网站界面设计的优点
  • 网站建设里的知识找别人做公司网站第一步做什么
  • 婚纱摄影网站模板之家专业seo网站优化公司
  • 商丘市住房和城乡建设局网站广西网站建设timkee
  • php网站开发是做什么的网站策划总结
  • 站长工具seo推广秒收录WordPress注册插件中文
  • 目前个人网站做地最好是哪几家做汽配网站需要多少钱
  • php做网站多少钱网络营销推广方案3篇
  • 浙江坤宇建设有限公司 网站省直部门门户网站建设
  • 直播类网站怎么做上海市建设质量协会网站
  • 筑巢做网站怎么样网站设计接单
  • 会ps的如何做网站wordpress 仿虎嗅
  • 免费响应式网站建设嘉兴建企业网站