例として、JS継承の対象は偽者となります.
1967 ワード
JS
function ClassA(sColor) {
this.color = sColor;
this.sayHello = function AsayHello(){
alert("Hello from ClassA ! --" + this.color);
};
};
function ClassB(){
this.name = "B";
alert(this.name + " <==1==> " + this.color); // B <==1==> undefined
this.newMethod = ClassA;
/*
ClassA this ClassB !
this.newMethod = ClassA; :
this.newMethod = function ClassA(sColor){
this.color = sColor; // this ClassB
this.sayHello = function AsayHello(){ // this ClassB
alert("Hello from ClassA ! --" + this.color);
};
*/
this.newMethod("red");
// ClassB (this) sayHello color
this.sayHello(); // Hello from ClassA ! --red
alert(this.name + " <==2==> " + this.color); // B <==2==> red
/*
ClassA , 。 。
, 。
*/
delete this.newMethod;
// ClassA , color , !
alert(this.name + " <==3==> " + this.color); // B <==3==> red
};
new ClassB().sayHello(); //AsayHello , !
this 。
:
this ( )。 , ClassA ClassB , 。ClassB ClassA