zoukankan      html  css  js  c++  java
  • 面试题常考&必考之--js中的对象的浅拷贝和深拷贝(克隆,复制)(上)

    1.首先引出问题:

    输出结果:

     分析:打印发现,修改第二个人名字时,第一个人也被修改了。不是我们想象的样子,该怎么办???

    2.然后:

     结果:

    附加:如何遍历对象呢???

      法一:$.each(data,function(key,value){ console.log("姓名:"+key+";"+"对应值:"+data[key]); })

      法二: for(let i in obj) {
         console.log(i); //对象中key的值(键名)
         console.log(obj[i]); //对象中key对应的value的值(键值)
          }

    3.回到正题继续

     

    输出结果:

     4.(浅拷贝)代码中继续加东西:(看懂这里就知道什么是浅拷贝了)

    浅拷贝:只拷贝第一层面上的东西(个人理解)

    输出结果:

    代码改进:(注意看昂,之前的写法怪怪的)

     看输出结果:

    如何剔除num:1呢?

     

     剔除原型,属于自己的属性才返回true

    真的是最后一次优化代码:

     浅拷贝over。。。。。。。。。。。。。。。。。。。

     浅拷贝遗留下的问题就是浅拷贝的弊端了,但是深拷贝就是来解决这个的,来吧,开始深拷贝。。。

     5.(深拷贝)

      页面太长了,所以去看     面试题常考&必考之--js中的对象的深拷贝(克隆,复制)(下)

     

  • 相关阅读:
    djangoadmin实现文件上传下载
    Apscheduler详解(转)
    django集成Apscheduler3
    springboot实现token鉴权
    xss攻击入门
    回顾2012——运维工作周年祭
    9个常用iptables配置实例
    ardunio 实验:超声波测距、声光报警模拟倒车雷达
    一款我用了好多年的多线程FTP软件
    线程Thread基础学习(2)
  • 原文地址:https://www.cnblogs.com/snowbxb/p/11591845.html
Copyright © 2011-2022 走看看