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!