javascript 继承之原型链

function ClassA() {   //构造函数无任何参数
       this.color = "red";
       this.sayColor = function(){
          alert(this.color);
        }
     } 
       
        function ClassB(name)
        {
         this.name = name;
         this.sayName = function(){
          alert(this.name);
         }
        }
        ClassB.prototype = new ClassA();
        var objB = new ClassB("这是sayName方法");
        var objA = new ClassA();
        objA.color = "yellow";
        objA.sayColor();
       
        objB.color = "black";
        objB.sayColor();
        objB.sayName();//output:yellow    black  这是sayName方法

原型链的突出之处在于:通过把ClassB的prototype属性设置成ClassA的实例,这样就可以使用所有ClassA定义的属性和方法了。

但是需要注意的是:调用ClassA的构造函数时,没有给它传递参数。这是原型链的标准做法,要确保构造函数没有任何参数

原文地址:https://www.cnblogs.com/xlhblogs/p/2321708.html