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

武汉今天特大新闻seo扣费系统源码

武汉今天特大新闻,seo扣费系统源码,做网站都可以做什么,web前端技术基础一、什么是拷贝?什么是深拷贝和浅拷贝? (1)拷贝:拷贝就是为了复用原对象的部分or全部数据,在原对象的基础上通过复制的方式创建一个新的对象。 拷贝对象可以分为三种类型:直接赋值、浅拷贝和深拷…

一、什么是拷贝?什么是深拷贝和浅拷贝?

(1)拷贝:拷贝就是为了复用原对象的部分or全部数据,在原对象的基础上通过复制的方式创建一个新的对象。

拷贝对象可以分为三种类型:直接赋值、浅拷贝和深拷贝

 (2)直接赋值:并不会创建一个新的对象,而是将原对象的引用赋给新变量。因此,修改新变量会影响到原对象。

let obj1 = { name: "Alice", age: 25 };
let obj2 = obj1;obj2.age = 30;
console.log(obj1); // { name: "Alice", age: 30 }
console.log(obj2); // { name: "Alice", age: 30 }

(3)浅拷贝浅拷贝会创建一个新的对象,仅复制对象的第一层属性。如果是简单数据类型拷贝值,引用数据类型(eg:对象、数组)拷贝的是地址。 如果是单层对象,没问题,如果有多层就有问题,修改嵌套对象会影响原对象。

 

(4)深拷贝会创建一个新的对象,并且递归地拷贝所有嵌套对象,使得新对象与原对象完全独立。

        (深拷贝会开辟新的栈,两个对象对应两个不同的地址,修改对象A的属性,并不会影响到对象B。)

 

二、浅拷贝实现方法

        浅拷贝会创建一个新的对象,但新对象中的属性如果是对象,则这些属性仍然指向原对象中的对应属性。因此,修改嵌套对象会影响到原对象。

1、Object.assign() 

let obj1 = { name: "Alice", age: 25, address: { city: "New York" } };
let obj2 = Object.assign({}, obj1);obj2.age = 30;
obj2.address.city = "London";console.log(obj1); // { name: "Alice", age: 25, address: { city: "London" } }
console.log(obj2); // { name: "Alice", age: 30, address: { city: "London" } }

2、使用展开运算符(...)实现 

let obj1 = { name: "Alice", age: 25, address: { city: "New York" } };
let obj2 = { ...obj1 };obj2.age = 30;
obj2.address.city = "London";console.log(obj1); // { name: "Alice", age: 25, address: { city: "London" } }
console.log(obj2); // { name: "Alice", age: 30, address: { city: "London" } }

三、深拷贝实现方法

        深拷贝会创建一个新的对象,并且递归地拷贝所有嵌套对象,使得新对象与原对象完全独立。

1、通过递归实现深拷贝

如果一个函数在内部可以调用其本身,那么这个函数就是递归函数

2、使用 JSON.parse 和 JSON.stringify 实现 

let obj1 = { name: "Alice", age: 25, address: { city: "New York" } };
let obj2 = JSON.parse(JSON.stringify(obj1));obj2.age = 30;
obj2.address.city = "London";console.log(obj1); // { name: "Alice", age: 25, address: { city: "New York" } }
console.log(obj2); // { name: "Alice", age: 30, address: { city: "London" } }

3、js库lodash里面cloneDeep内部实现了深拷贝 

import _ from 'lodash';
let obj = { a: 1, b: [2, 3] };
let copy = _.cloneDeep(obj);

http://www.dtcms.com/wzjs/50284.html

相关文章:

  • wordpress 知乎模版百度优化
  • b2b电子商务网站的盈利模式网络软文是什么
  • 黄山小程序开发网站优化策略分析论文
  • 陕西有色建设有限公司网站长沙谷歌优化
  • 中山制作企业网站怎么seo网站排名
  • wordpress友链代码优化站点
  • 南京网站制作工具搜索引擎有哪些软件
  • 什么网站访问量疫情防控最新政策
  • 三门峡网站制作百度广告
  • 主题网站的设计方案青岛网站制作seo
  • 校园网站的建设合肥全网优化
  • 网站名申请乐事薯片软文推广
  • 做自己卖东西的网站品牌推广方案包括哪些
  • 16岁学生免费开网店领硕网站seo优化
  • 网站开发建设英文外链代发
  • 怎么创建图片网站查询网站流量的网址
  • 网站 建设app亚马逊关键词
  • wordpress手机下浮动合肥seo公司
  • 个人做的网站能备案吗网站关键词优化外包
  • 做批发的网站有哪些长沙seo招聘
  • wordpress建站微信联系网站的营销推广方案
  • 网站开发与应用论文外链网
  • 做网站开发注册工商户可以么代刷网站推广快速
  • 做汽车的网站google下载安卓版下载
  • 手机上传网站源码网络营销方案策划书
  • 正能量网站免费入口不用下载领硕网站seo优化
  • 门户网站开发的价格三叶草gw9356
  • 网站设计就业方向腾讯广告推广平台
  • 手机网站底部广告代码百度网首页官网登录
  • 在线做ppt的网站seo创业