• js的浅克隆和深克隆


    谈一谈个人对js浅克隆和深克隆的区别。

    之前也看到很多博客在写,当然也有写的非常好的,但是个人觉得既然要分享就不要写的太深奥,尽量以简单易懂为主。

    浅克隆其实就是 对象A = 对象B;如果改变了对象B里面的属性和方法会同时改变对象A里面的方法,反之对象A改变同样会影响对象B。A和B对象指向的是同一个引用地址。

    深克隆可以理解为继承的一种方式,对象A 赋值给对象B,但是对象B改变了属性和方法不会影响到对象A。A和B对象指向的不是同一个引用地址。

    <script>
    // 浅克隆
    	var a = {"name": "张三"};
    	var b = a;
    	b.name = "李四";
    	console.log(a.name); //李四
    	console.log(b.name); //李四
    	a.age = 18;
    	console.log(a.age); // 18
    	console.log(b.age); // 18
    	console.log(a === b); //true
    // 深克隆
        var c = {};
    	for (var i in a) {
    	  c[i] = a[i];
    	};
    	console.log(c);
    	console.log(a === c); //false
    	c.age = 20;
    	console.log(a.age); // 18
    	console.log(c.age); // 20
    	console.log(a === c); //false
    </script>
    

      

  • 相关阅读:
    lnmp环境搭建
    Git常用命令
    博客园写随笔环境搭建
    Win常用软件
    Docker环境搭建
    ESP-8266 RTOS 环境搭建
    查看Linux信息
    博客园markdown语法
    Java后台技术(TDDL)
    Java后台技术(Dubbo入门)
  • 原文地址:https://www.cnblogs.com/alvin553819/p/7985832.html
Copyright © 2020-2023  润新知