选自《Professional Javascript For Web Developers》
其它方式:对象冒充,call(),apply(),原型链都有不少缺点这里就不一一介绍了,想了解的可以去看一下这本著作的第4章节。
这种方法用对象冒充继承属性,用原型链继承方法,代码如下
function
ClassA(sColor){
this
.color
=
sColor;
}
ClassA.prototype.sayColor
=
function
(){
alert(
this
.color);
}
function
ClassB(sColor, sName){
ClassA.call(
this
. sColor);
this
.name
=
sName;
}
ClassB.prototype
=
new
ClassA();
ClassB.prototype.sayName
=
function
(){
alert(
this
.name);
}
测试:
var
objA
=
new
ClassA(
"
red
"
);
var
objB
=
new
ClassB(
"
blue
"
,
"
Nicholas
"
);
objA.sayColor();
//
red
objB.sayColor();
//
blue
objB.sayName();
//
Nicholas
其它好方法,请参考zlnherit库和xbObjects