Heim >Web-Frontend >js-Tutorial >Detaillierte Erklärung des Javascript-Prototyp-Prototyps (Grundkurs)

Detaillierte Erklärung des Javascript-Prototyp-Prototyps (Grundkurs)

亚连
亚连Original
2018-05-19 13:49:251587Durchsuche

Prototyp ist ein besonders wichtiges Konzept in JavaScript und muss grundsätzlich beherrscht werden. Darüber hinaus ist es etwas schwierig, dieses Konzept zu verwenden, was für Erstbenutzer schwierig sein kann Für Freunde, die damit vertraut sind, ist es etwas schwierig. Lassen Sie uns anhand von Codebeispielen kurz die Verwendung von Prototyp-Prototypen vorstellen.

Eine kurze Einführung in den Prototyp-Prototyp von Javascript:
Der Prototyp-Prototyp ist ein besonders wichtiges Konzept in Javascript muss beherrscht werden. Ohne gute Kenntnisse ist es im Grunde unmöglich, js weiter zu verwenden oder zu lernen, und dieses Konzept ist etwas schwierig, was für Erstfreunde etwas schwierig sein kann. Lassen Sie uns den Prototyp kurz durch Code vorstellen Beispiele. Verwendung von Prototypen.

1. Grundkonzepte:

Jede Funktion hat ein Prototypattribut.
Dieses Attribut ist ein Zeiger, der auf ein Objekt zeigen kann. Dieses Objekt wird von der vom Konstruktor erstellten Objektinstanz gemeinsam genutzt, dh dieses Objekt wird geerbt.
Zusammenfassung: Das Objekt, auf das der Prototyp zeigt, wird von den vom Konstruktor erstellten Objektinstanzen gemeinsam genutzt.
Die erstellte Objektinstanz verfügt über eine interne Eigenschaft [[Prototyp]], die ein Zeiger auf das Objekt ist, auf das der Konstruktor-Prototyp (Prototyp) zeigt.
Schauen Sie sich zuerst einen Code an:

<script>
function antzone(name,age){
 this.webname=name;
 this.age=age;
}
antzone.prototype.getName=function(){
 return this.webname;
}
var oantzone=new antzone("PHP中文网",10);
console.log(oantzone.getName());
</script>

2. Codebeispiel:
Beispiel 1:

function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
var oantzone=new antzone("PHP中文网",10);
antzone.prototype=obj;
console.log(oantzone.address);

Wenn man sich den obigen Code ansieht, denken viele Freunde vielleicht, dass der Ausgabewert „Xuzhou, Provinz Jiangsu“ ist, aber der tatsächliche Ausgabeinhalt ist undefiniert. Dies liegt daran, dass bei der Verwendung des Konstruktors der Objekt oantzone, die internen Eigenschaften des oantzone-Objekts [[Prototyp]] verweisen auf das Objekt, auf das der Prototyp-Prototyp des antzone()-Konstruktors zeigt. Später ist antzone.prototype=obj der Prototyp des Reset-Konstruktors Das integrierte Attribut [[Prototype]] von oantzone zeigt immer noch auf das ursprüngliche Objekt, natürlich ist oantzone.address undefiniert.
Beispiel 2:

<script>
function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
antzone.prototype=obj;
var oantzone=new antzone("PHP中文网",10);
console.log(oantzone.webname+oantzone.address);
</script>

Der einzige Unterschied zwischen diesem Code und dem vorherigen Code besteht darin, dass die achte und neunte Zeile Nachher sind Nach einem kleinen Austausch können Sie „Xuzhou, Provinz Jiangsu“ ausgeben. Dies ist nicht schwer zu verstehen, da die Objektinstanz nach dem Zurücksetzen des Prototyps erstellt wird.
Beispiel 3:

function antzone(name,age){
 this.webname=name;
 this.age=age;
}
var obj={
 address:"江苏省徐州"
}
antzone.prototype.add=obj;
var oantzone=new antzone("PHP中文网",10);
console.log(oantzone.add.address);

Der obige Code ändert nur den Objektprototyp, anstatt ihn zurückzusetzen.

Das Obige habe ich für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Über einfache Aufrufe zum Abrufen von JSON-Daten in JS (der Code ist beigefügt, einfach und grob)

Details Einführung in die Verwendung von EL-Ausdrücken in JS

Einsteigervideo.jsVerwendungshinweise (Code im Anhang)

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Javascript-Prototyp-Prototyps (Grundkurs). 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