• 克隆对象和对象继承


    克隆对象:  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.深拷贝和浅拷贝

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

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

      

    所触及过的星空,哪怕牺牲所有,也竭力想要抵达的地方!
  • 相关阅读:
    发现了一个开源的sip软电话项目(C#)
    有没有.Net下的开源工作流框架推荐
    C#生成32位MD5加密
    web安全问题与Safe3 Web应用防火墙
    Safe3网页防篡改系统 v4.0
    C和C++混合编程问题
    Safe3 WEB安全网关linux 3.1版
    Dns信息收集工具集合
    lizamoon.com挂马解决办法
    Safe3网站安全网关 3.1发布
  • 原文地址:https://www.cnblogs.com/lishaoxiong/p/10397467.html
Copyright © 2020-2023  润新知