zoukankan      html  css  js  c++  java
  • 克隆对象和对象继承

    克隆对象:  var obj={

            name:"zhang",

            age:23;

          }

        var obj2=obj    这种写法不是克隆对象,就直是把obj的内存地址赋给obj2。

    1.通过for in 克隆: 不管是私有的还是共有的都克隆成私有的。

      var obj={

        name:"zhang",

        age:23

      }

      var obj2={};

        for(var key in obj){

        obj2[key]=obj[key]

      }

      console.log(obj2)

    2.Js提供了一个克隆的方法Object.create()

    var obj2=Object.creat(obj) 将obj的所有属性克隆到obj2的原型上

      var obj={

        name:"zhang",

        age:23

      }

      var obj2=object.create(obj,{name:{value:"wang"}})

      console.log(obj2)

    对象继承:七种对象继承

      1.call继承:

          将父类的私有属性继承为子类的私有属性

      2.原型继承

          将父类的私有属性和公有属性都继承为子类的公有属性

      3.冒充对象继承

          将父类的私有属性和公有属性都继承为子类的私有属性

      4.混合继承

          私有的继承为私有的,公有的和私有的再次继承为公有的,混合继承是call继承和原型继承的结合,私有的被继承了两次

      5.组合继承

          私有的继承为私有的,公有的继承为公有的

      6.中间类继承

          function f(){

            arguments.__proto__=Array.prototype;

            console.lob((arguments)) 

            arguments.shift()

          }

          f(12,23,56) 

      7.深拷贝和浅拷贝

             浅拷贝:其实就是将一个对象的属性一个一个的复制到另一个对象中去主要针对第一层的属性

                深拷贝:如果对象中的属性值又是一个引用数据类型,浅拷贝还是把后边的引用数据类型的地址赋值给空对象的一个属性,深拷贝,将属性值也一个个遍历赋值。

      

    所触及过的星空,哪怕牺牲所有,也竭力想要抵达的地方!
  • 相关阅读:
    minio 对于压缩的处理
    mino federation 功能
    Full Schema Stitching with Apollo Server
    GraphQL Gateway Architectures
    Modularizing your graphQL schemas
    gearman openresty 集成试用
    madlib 集成 hasura graphql-engine 试用
    Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)
    绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
    几款开源的ETL工具及ELT初探
  • 原文地址:https://www.cnblogs.com/lishaoxiong/p/10397467.html
Copyright © 2011-2022 走看看