function ClassA(sColor) { this.color = sColor; } ClassA.prototype.sayColor = function() { alert(this.color); }; function ClassB(sColor,sName) { ClassA.call(this, sColor); //对象冒充方式 继承 不包括prototype属性 this.name = sName; } ClassB.prototype = new ClassA(); //原型链方式 继承方法 ClassB.prototype.sayName = function() { alert(this.name); }; var A = new ClassA("red"); var B = new ClassB("blue", "Nicholas"); A.sayColor(); B.sayColor(); B.sayName(); 注释原型链继承方式 ClassA.prototype.sayColor 方法就不能使用 function ClassA(sColor) { this.color = sColor; } ClassA.prototype.sayColor = function() { alert(this.color); }; function ClassB(sColor,sName) { ClassA.call(this, sColor); //对象冒充方式 继承 不包括prototype属性 this.name = sName; } // ClassB.prototype = new ClassA(); //原型链方式 继承方法 ClassB.prototype.sayName = function() { alert(this.name); }; var A = new ClassA("red"); var B = new ClassB("blue", "Nicholas"); A.sayColor(); // B.sayColor(); B.sayName();