Jedes Objekt in Javascript hat einen Prototyp. Probieren Sie es aus:
var Richard = new Object( );
alert(typeof(Richard.prototype));
Das Ergebnis ist deprimierend, der Browser erscheint undefiniert...
Was ist los?
Sehen Sie sich ein anderes Beispiel an:
function Richard(){}
alert(typeof(Richard.prototype));
Das obige Beispiel scheint zu zeigen, dass nur Funktionsobjekte Prototypen haben, allgemeine Objektobjekte jedoch nicht haben Prototypen. Was sind die Fakten?
Wir werden verstehen, wenn wir einen weiteren Satz ausführen:
var Richard = new Object();
alert(Richard.__proto__);
Verstehen Sie?
Tatsächlich haben wir alle ein Missverständnis, dass der Prototyp, der die Prototypenkette eines Javascript-Objekts bildet, eine Eigenschaft mit dem Namen Prototyp ist und auf sie zugegriffen werden kann. Tatsächlich haben der Prototyp von Javascript und die Eigenschaft namens „Prototyp“ zunächst nichts miteinander zu tun. Es handelt sich um zwei verschiedene Dinge.
Bei allgemeinen Objekten können wir nur über Attribute wie __proto__ auf den vom Objektobjekt geerbten Prototyp zugreifen.
Bei Funktionsobjekten handelt es sich bei ihrer Erstellung um den Prototyp der Funktion Das Objekt wird dem Prototypattribut zugewiesen.
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