zoukankan      html  css  js  c++  java
  • 关于原型继承中的constructor重定向的问题

    上代码

        function SuperType(name){
            this.name = name;
            this.colors = ["red","blue","green"];
        }
        SuperType.prototype.sayName = function(){
            console.log(this.name);
        }
        function SubType(name , age){
            SuperType.call(this,name);
            this.age = age;
        }
        SubType.prototype = new SuperType();
        //留意下面这一句的作用
        SubType.prototype.constructor = SubType;
        SubType.prototype.sayAge = function(){
            console.log(this.age);
        }
        var instance1 = new SubType("HEDONGHUI",22);
        instance1.colors.push("black");
        console.log(instance1.colors);
        instance1.sayName();
        instance1.sayAge();
    
        var instance2 = new SubType("heod",23);
        console.log(instance2.colors);
        instance2.sayName();
        instance2.sayAge();
     SubType.prototype.constructor = SubType;
    这句话就是
    为了修正因为继承SuperType对象所有成员后,SubType的构造器也指向了SuperType的问题.
    之继承父类的prototype上的方法,父类构造器中的属性不继承,并且只继承自己的属性
  • 相关阅读:
    计算机网络基础
    ansible
    CDH集群日常
    漏洞挖掘学习
    JDWP
    开源安全项目调研
    SMB漏洞汇总
    Windows账户LM/NTLM
    SMB知识汇总
    Memcache未授权漏洞
  • 原文地址:https://www.cnblogs.com/gopark/p/10599081.html
Copyright © 2011-2022 走看看