例として、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