那就A-继承->B-继承->C-继承->D...,这样一直下去(你要直接继承多个是不太好办的),例如:<script>
function objA(){
this.tempName1 = "objA";
}
function objB(){
this.tempName2 = "objB";
}
function objC(){
this.tempName3 = "objC"
}objB.prototype = new objA(); //B先继承A
objC.prototype = new objB(); //C再继承B,那么也继承了A
objectC = new objC();alert(objectC.tempName1)
alert(objectC.tempName2)
alert(objectC.tempName3)
</script>
function objA(){
this.tempName1 = "objA";
}
function objB(){
this.tempName2 = "objB";
}
function objC(){
this.tempName3 = "objC"
}objB.prototype = new objA(); //B先继承A
objC.prototype = new objB(); //C再继承B,那么也继承了A
objectC = new objC();alert(objectC.tempName1)
alert(objectC.tempName2)
alert(objectC.tempName3)
</script>
call 方法
应用于:Function 对象
调用一个对象的一个方法,以另一个对象替换当前对象。
<script>
function objA(){
this.tempName1 = "objA";
}function objB(){
this.tempName2 = "objB";
}function objC(){
objA.call(this);
objB.call(this);
this.tempName3 = "objC";
}objectC = new objC();
alert(objectC.tempName1)
alert(objectC.tempName2)
alert(objectC.tempName3)
</script>
function objA(strName, ...){
this.tempName1 = "objA_" + strName;
}function objB(strName, ...){
this.tempName2 = "objB_" + strName;
}function objC(strID, strName, ...){
var arg = Array.prototype.slice.call(arguments, 1);
objA.apply(this, arg);
objB.apply(this, arg);
this.tempName3 = "objC_" + strName;
}objectC = new objC();
alert(objectC.tempName1)
alert(objectC.tempName2)
alert(objectC.tempName3)
</script>