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

    1.克隆对象

    通过for in克隆  不管是公有的还是私有的都克隆成私有的

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

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

    2.对象的继承

    // call继承(将父级私有的属性继承为子类的私有属性)
    function A(){
    this.name="aaa"
    }
    A.prototype.x=56
    function B(){
    this.age=23;
    A.call(this)
    }
    B.prototype.y=89;
    var a=new A;
    var b=new B;
    console.log(b)
    //原型继承(将父级所有的属性继承为子类的公有属性)
    function A(){
    this.name="aaa"
    }

    A.prototype.x=56
    function B(){
    this.age=23;
    }
    B.prototype=new A;
    var a=new A;
    var b=new B;
    console.log(b)
    //冒充对象继承(将父级的所有属性都继承为子类的私有属性)
    //父类
    function A(){
    this.name="zhangsan"
    }
    A.prototype.s=56
    // 子类
    function B(){
    // this.age=23;
    var temp=new A;
    for(var key in temp){
    this[key]=temp[key]
    }
    temp=null
    }
    var a=new A;
    var b=new B;
    console.log(b) //将父类所有属性都继承为子类私有的属性
    //混合继承(私有的继承私有的,公有的和私有的再次继承为公有的{他是call和原型继承的结合,私有的被继承了两次})
    function A(){
    this.name="zhangsan"
    }
    A.prototype.s=56
    // 子类
    function B(){
    this.age=23;
    A.call(this)
    }
    B.prototype=new A;
    var a=new A;
    var b=new B;
    console.log(b)
    // 组成继承(私有的继承私有的,共有的继承公有的)
    function A(){
    this.name="zhangsan"
    }
    A.prototype.s=56
    // 子类
    function B(){
    this.age=23;
    A.call(this)
    }
    B.prototype=Object.create(A.prototype);
    var a=new A;
    var b=new B;
    console.log(b)
    // 中间类继承
    function fn(){
    console.log(arguments)
    arguments.__proto__=Array.prototype;
    console.log((arguments))
    arguments.shift()
    }
    fn(12,23,56)
    // arguments不是一个数组,没有array的那些自带的方法,现在我们想arguments有那些方法,将arguments 的原型指向array内置的原型

  • 相关阅读:
    Android AHandle AMessage
    android java 与C 通过 JNI双向通信
    android 系统给应用的jar
    UE4 unreliable 同步问题
    UE4 difference between servertravel and openlevel(多人游戏的关卡切换)
    UE4 Run On owing Client解析(RPC测试)
    UE4 TSubclassOf VS Native Pointer
    UE4 内容示例网络同步Learn
    UE4 多人FPS VR游戏制作笔记
    UE4 分层材质 Layerd Materials
  • 原文地址:https://www.cnblogs.com/mo123/p/10219496.html
Copyright © 2011-2022 走看看