Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der drei Arten von Methodencodes für benutzerdefinierte Javascript-Objekte

Detaillierte Erläuterung der drei Arten von Methodencodes für benutzerdefinierte Javascript-Objekte

伊谢尔伦
Freigeben: 2017-07-21 13:20:12
Original
2073 Leute haben es durchsucht

1) Drei Arten von Methoden können für Objekte in JS definiert werden: private Methoden, Instanzmethoden und Klassenmethoden, ähnlich wie bei Java:

Private Methoden können nur innerhalb des Objekts verwendet werden

Instanzmethoden müssen verwendet werden, nachdem das Objekt instanziiert wurde

Klassenmethoden können direkt über den Klassennamen verwendet werden

Hinweis: Die Methodendefinition kann nicht über die oben erwähnte Indexmethode erfolgen.

2) Definieren Sie private Methoden

Private Methoden müssen innerhalb des Konstruktorkörpers definiert werden und können nur innerhalb des Konstruktorkörpers verwendet werden.

Syntaxformat: function methodName(arg1,…,argN){ }

Zum Beispiel:

function User(name){
 
this.name=name;
 
function getNameLength(nameStr){
 
return nameStr.length;
 
}
 
this.nameLength=getNameLength(this.name);
 
}
Nach dem Login kopieren

3) Definieren Sie Instanzmethoden :

Prototyp-Methode, wird außerhalb des Konstruktors verwendet, Syntaxformat:

functionName.prototype.methodName=method;

oder

functionName.prototype =function(arg1,…,argN){};

diese Methode, verwendet im Konstruktor, Syntaxformat:

this.methodName=method;

oder

this.methodName=function(arg1,…,argN){};

In der obigen Syntaxbeschreibung ist Methode eine externe Methode, die bereits existiert, und Methodenname ist die Methode des zu erstellenden Objekts definiert. Es bedeutet, eine externe Methode direkt einer Methode des Objekts zuzuweisen.

Das Definieren von Objektmethoden in Form von function(arg1,…,argN){} ist das, was Entwickler beherrschen sollten.

Einige Beispiele für die Definition von Instanzmethoden: Beispiel 1

function User(name){
 
this.name=name;
 
this.getName=getUserName;
 
this.setName=setUserName;
 
}
 
function getUserName(){
 
return this.name;
 
}
 
Function setUserName(name){
 
this.name=name;
 
}
Nach dem Login kopieren

Einige Beispiele für die Definition von Instanzmethoden: Beispiel 2

function User(name){
 
this.name=name;
 
this.getName=function(){
 
return this.name;
 
};
 
this.setName=function(newName){
 
this.name=newName;
 
};
 
}
Nach dem Login kopieren

Einige Beispiele für die Definition von Instanzmethoden: Beispiele 3

function User(name){
 
this.name=name;
 
}
 
User.prototype.getName=getUserName;
 
User.prototype.setName=setUserName();
 
function getUserName(){
 
return this.name;
 
}
 
Function setUserName(name){
 
this.name=name;
 
}
Nach dem Login kopieren

Einige Beispiele für die Definition von Instanzmethoden: Beispiel 4

4) Definieren von Klassenmethoden

Klassenmethoden müssen außerhalb des Konstruktors definiert werden und können direkt definiert werden durch den Konstruktor übergeben Referenzieren Sie es anhand des Namens.

Syntaxformat:

functionName.methodName=method;

oder

functionName.methodName=function(arg1,…,argN){};

Beispiel:

function User(name){
 
this.name=name;
 
}
 
User.getMaxAge=getUserMaxAge;
 
function getUserMaxAge(){
 
return 200;
 
}
Nach dem Login kopieren

oder

User.getMaxAge=function(){return 200;};
alert(User.getMaxAge());
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der drei Arten von Methodencodes für benutzerdefinierte Javascript-Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage