Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Attributprototyp zum Hinzufügen von Eigenschaften und Methoden zu Objekten

JavaScript-Attributprototyp zum Hinzufügen von Eigenschaften und Methoden zu Objekten

黄舟
黄舟Original
2017-11-04 10:27:242419Durchsuche

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 &#39;watching movies&#39;;
}
var boy=new Person(&#39;keith&#39;,180);
var girl=new Person(&#39;rascal&#39;,153); 
console.log(boy.name); //&#39;keith&#39;
console.log(girl.name); //&#39;rascal&#39;
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!

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