Heim  >  Artikel  >  Web-Frontend  >  Was sind die Vererbungsmethoden in Javascript?

Was sind die Vererbungsmethoden in Javascript?

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-04-08 18:30:232092Durchsuche

Zu den Javascript-Vererbungsmethoden gehören: 1. Mit der Methode call() können Sie Methoden schreiben, die für verschiedene Objekte verwendet werden können. 2. Die Methode apply() wird als Objekt verwendet Parameter, der an das Funktionsarray übergeben werden soll)".

Was sind die Vererbungsmethoden in Javascript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

1. call()-Methode

Die call()-Methode ist der klassischen Objektimitationsmethode am ähnlichsten. Sein erster Parameter wird als Objekt verwendet. Andere Parameter werden direkt an die Funktion selbst übergeben

function Huster(name,idNum,college)
    {        this.name = name;        
        this.idNum = idNum;        
        this.college = college;        
        this.course = new Array();    
        
        this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法
        {                   //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承            this.course.push(course);
            console.log(this.course);
        };    
            
    }    
    
    function Autoer(name,idNum)
    {        
    this.college = ‘自动化‘;
        Huster.call(this,name,idNum,this.college);//Autoer使用call()方法来继承 Huster
     if (typeof Autoer._initialized == "undefined") 
     { 
      Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义
      { 
        alert(this.college+‘人喜欢撸代码!‘);     
      }; 
      Autoer._initialized = true; 
     } 
  } 
   
  var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1
  console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course); 
  autoer1.addCourse(‘logistics‘);//调用Huster的方法
  autoer1.sayHobby();    //调用自身的方法

2. Die apply()-Methode ist fast identisch mit der call()-Methode. Der einzige Unterschied besteht darin, dass die apply()-Methode nur über Folgendes verfügt Zwei Parameter: Der erste ist das als Objekt verwendete Objekt, der zweite ist das Array von Parametern, die an die Funktion übergeben werden sollen. Das heißt, die apply()-Methode fügt mehrere Parameter der call()-Methode in ein Array ein und übergibt sie an die übergeordnete Klasse

function Huster(name,idNum,college){    
this.name = name;            
this.idNum = idNum;    
this.college = college;    
this.course = new Array();            
this.addCourse = function(course)//这个方法不能用prototype来定义,如果用的话,子类无法继承该方法    
{                   //用原型prototype定义的方法可以用原型链来继承,call()方法和apply()方法都无法继承        
this.course.push(course);        
console.log(this.course);    
};                
}            
function Autoer(name,idNum)    
{        
this.college = ‘自动化‘;        
Huster.apply(this,new Array(name,idNum,this.college));//Autoer使用apply()方法来继承 Huster     
if (typeof Autoer._initialized == "undefined")      
{       
Autoer.prototype.sayHobby = function() //自己的方法可以用原型链prototype定义      
{         
alert(this.college+‘人喜欢撸代码!‘);           
};       
Autoer._initialized = true;      
}   
}      
var autoer1 = new Autoer(‘偶人儿‘,‘U123456789‘); //声明一个实例autoer1  
console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course);   
autoer1.addCourse(‘logistics‘);//调用Huster的方法  
autoer1.sayHobby();    //调用自身的方法

[Lernempfehlung:

Javascript-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonWas sind die Vererbungsmethoden in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn