Definition und Verwendung
Das Prototypattribut gibt Ihnen die Möglichkeit, einem Objekt Eigenschaften und Methoden hinzuzufügen.
Syntax
object.prototype.name=value
Beispiel
In diesem Beispiel zeigen wir, wie Sie das Prototypattribut verwenden, um Eigenschaften zu einem Objekt hinzuzufügen:
<script type="text/javascript"> function employee(name,job,born) { this.name=name; this.job=job; this.born=born; } var bill=new employee("Bill Gates","Engineer",1985);employee.prototype.salary=null;bill.salary=20000; document.write(bill.salary); </script>
Ausgabe:
20000
Die Rolle des Prototypattributs
Um den Mangel zu beheben, dass Attribute nicht zwischen Objektinstanzen des Konstruktors gemeinsam genutzt werden können, stellt js den Prototyp bereit Attribut.
Jeder Datentyp in js ist ein Objekt (außer null und undefiniert), und jedes Objekt erbt von einem anderen Objekt. Letzteres wird als „Prototyp“-Objekt bezeichnet und nur null. Es gibt kein eigenes Prototypobjekt.
Alle Eigenschaften und Methoden des Prototypobjekts werden von Objektinstanzen gemeinsam genutzt.
Wenn eine Objektinstanz über einen Konstruktor generiert wird, verweist der Prototyp der Objektinstanz auf das Prototypattribut des Konstruktors. Jeder Konstruktor verfügt über ein Prototypattribut, das das Prototypobjekt der Objektinstanz ist.
function Person(name,height){ this.name=name; this.height=height; } Person.prototype.hobby=function(){ return 'watching movies'; } var boy=new Person('keith',180); var girl=new Person('rascal',153); console.log(boy.name); //'keith' console.log(girl.name); //'rascal' console.log(boy.hobby===girl.hobby); //true
Wenn im obigen Code die Hobby-Methode auf dem Prototypobjekt platziert wird, verwenden beide Instanzobjekte dieselbe Methode. Ich hoffe, jeder kann verstehen, dass für Konstruktoren der Prototyp das Attribut des Konstruktors ist; für Objektinstanzen ist der Prototyp das Prototypobjekt der Objektinstanz. Der Prototyp ist also sowohl ein Attribut als auch ein Objekt.
Das obige ist der detaillierte Inhalt vonJavaScript-Attributprototyp zum Hinzufügen von Eigenschaften und Methoden zu Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!