Heim  >  Artikel  >  Web-Frontend  >  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

伊谢尔伦
伊谢尔伦Original
2017-07-21 13:20:122045Durchsuche

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);
 
}

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;
 
}

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;
 
};
 
}

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;
 
}

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;
 
}

oder

User.getMaxAge=function(){return 200;};
alert(User.getMaxAge());

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!

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