Heim > Web-Frontend > js-Tutorial > Hauptteil

Was ist der Prototyp von js

(*-*)浩
Freigeben: 2019-06-15 17:58:34
Original
4827 Leute haben es durchsucht

Javascript ist ebenfalls eine objektorientierte Sprache, aber es ist eine prototypbasierte Sprache und keine klassenbasierte Sprache.

Was ist der Prototyp von js

Wie im Artikel „Erstellen von Objekten in JavaScript“ erwähnt: Es gibt ein Problem bei der Verwendung von Konstruktoren zum Erstellen von Objekten, d. h. es werden dieselben Methoden verschiedener Instanzen desselben Konstruktors verwendet unterschiedlich, daher verwenden wir Prototypen, um die öffentlichen Eigenschaften und Methoden im Konstruktor zu extrahieren und sie zu kapseln, damit sie von allen Instanzen gemeinsam genutzt werden können.

Das durch die Funktion definierte Objekt verfügt über ein Prototypattribut, und das Prototypattribut zeigt auf ein Prototypobjekt. Es gibt ein Konstruktorattribut im Prototypobjekt. Dieses Konstruktorattribut zeigt auch auf ein Konstruktorobjekt, und dieses Konstruktorobjekt ist genau die Funktion selbst.

wird im Pseudocode wie folgt ausgedrückt:

var function{
    prototype:prototype{
        constructor:constructor == function
    }
}
Nach dem Login kopieren

Die Beziehung zwischen Funktion und Prototyp

Erstellen einer Funktion in js wird Es wird automatisch ein Prototypattribut erstellt, das auf das Prototypobjekt der Funktion zeigt, und das Prototypobjekt erhält automatisch ein Konstruktorattribut, das auf die Funktion zeigt.

Beispiel: Nehmen Sie den vorherigen Prototypmodus zum Erstellen eines Objekts als Beispiel, um die Beziehung zwischen der Instanz und dem Prototyp zu veranschaulichen.

<script type="text/javascript">
function Person(){

}
Person.prototype.name="lxy";
Person.prototype.age=22;
Person.prototype.job="Software Engineer";
Person.prototype.sayName=function(){
    alert(this.name);
}
     
     var lxy=new Person();
     lxy.sayName();
     var personA=new Person();
     personA.sayName();
     alert(lxy.sayName()==personA.sayName());//true
</script>
Nach dem Login kopieren

Erstellen eine Instanz über den Konstruktor, die eine Eigenschaft (Zeiger) enthält, die auf das Prototypobjekt des Konstruktors zeigt.

Beispiel: Die [[Prototype]]-Attribute der Person-Konstruktorinstanzen Person1 und Person2 verweisen beide auf den Prototyp von Person.

Hinweis: Die [[Prototype]]-Verbindung besteht zwischen der Instanz und dem Prototyp des Konstruktors, nicht zwischen der Instanz und dem Konstruktor.

Dieser Zeiger wird in ECMA-262 als [[Prototype]] bezeichnet. Es gibt keine Standardmethode für den Zugriff auf [[Prototype]], aber Firefox, Safari und Chrome unterstützen ein Attribut __protp__ für jedes Objekt. In anderen Implementierungen ist diese Eigenschaft für Skripte nicht sichtbar.

Das obige ist der detaillierte Inhalt vonWas ist der Prototyp von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
js
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