js 浅拷贝与深拷贝

浅拷贝:在对js数组进行操作时,我们常需要对数组进行赋值备份,但如果只是简单的把它赋值给其它变量的话,只需要随便更改一个值,其它的也会跟着改变。
    var data = ['rng','skt','fake'],
    ost = data;
    ost[0] = 'haha';
    console.log(data,ost);
解决方法一:js的slice()方法
    var data = ['rng','skt','fake'],
    ost = data.slice(0);
    ost[0] = 'haha';
    console.log(data);//console.log(['rng','skt','fake'])
    console.log(ost);//console.log(['hehe','skt','fake'])
解决方法二:concat();
    var data = ['rng','skt','fake'],
    ost = data.concat();
    ost[0] = 'haha';
    console.log(data);//console.log(['rng','skt','fake'])
    console.log(ost);//console.log(['hehe','skt','fake'])

深拷贝大佬地址:https://www.cnblogs.com/miyosan/p/10478254.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容