首先是父类: function ClassA(sColor) {this.color = sColor;this.sayColor = function () {alert(this.color);};} 复制代码 第一种方式:对象冒充 function ClassB(sColor, sName) {this.newMethod = ClassA; //注意这里this.newMethod(sColor);delete this.newMethod;this.name = sName;this.sayName = function () {alert(this.name);};} 复制代码 第二种方式:call() function ClassB(sColor, sName) {ClassA.call(this, sColor);this.name = sName;this.sayName = function () {alert(this.name);};} 复制代码 第三种方式:apply() function ClassB(sColor, sName) {ClassA.apply(this, arguments);this.name = sName;this.sayName = function () {alert(this.name);};} 复制代码 第四种方式:原型链(prototype) function ClassA() {}ClassA.prototype.color = "red";ClassA.prototype.sayColor = function () {alert(this.color);};function ClassB() {}ClassB.prototype = new ClassA();ClassB.prototype.name = "";ClassB.prototype.sayName = function () {alert(this.name);}; 复制代码 测试方式: var objA = new ClassA();var objB = new ClassB();objA.color = "red";objB.color = "blue";objB.name = "Nicholas";objA.sayColor();objB.sayColor();objB.sayName(); 复制代码