浅谈...三个点语法以及深浅拷贝

浅谈...三个点语法以及深浅拷贝,(面试大概率问题)

来谈一谈对象的拷贝以及三个点语法的使用
首先创造一个对象
对象当中加入一个方法用来调试
浅拷贝,只是把指针给了拷贝的对象,访问的对象是一样的
在这里插入图片描述
内容过多先不展示浏览器效果
把obj对象的值赋值给obj1,此时obj1的指针和obj的指向相同,修改obj1的属性值,obj也会受到影响;
深拷贝 :两个对象没有任何关系
首先可以通过JSON转化进行深拷贝,但是此方法会造成对象内方法的丢失

在这里插入图片描述
1,通过JSON的两次转化完成深拷贝,此时的obj1和obj没有任何关系,但是此时的obj1中没有obj的say方法,修改obj1-obj感受不到变化

2,通过for-in遍历循环完成
在这里插入图片描述
通过遍历将obj的值给obj1空对象,得到一个全新的对象,同时可以得到obj中的say方法进行调用或修改对象,obj感受不到

3,Object.assign()方法
在这里插入图片描述
如图:将obj复制给obj1进行深拷贝,此时obj1调用值以及方法obj不会受到任何影响

4,接下来就是…三个点语法
在这里插入图片描述
将obj的方法通过…语法给到obj1进行深拷贝,修改obj1的数值以及调用方法obj不会受到影响

文章略短,下一篇文章会详细介绍…语法
如有错误请指出,拿文章请通知作者谢谢

猜你喜欢

转载自blog.csdn.net/weixin_50217605/article/details/109117572
今日推荐