1. Verwendung von instanceof Mit Funktion Person() {} Funktion Person2() {} const usr = neue Person(); console.log(usr-Instanz von Person); // wahr console.log(usr-Instanz von Objekt); // wahr console.log(usr-Instanz von Person2); // falsch Wie im obigen Code gezeigt, werden zwei Konstruktoren, Verwenden Sie Natürlich zeigen die Ergebnisse, dass sich 2. Implementierung von instanceof Nachdem Sie die Funktion und das Prinzip von Funktion myInstanceof(Objekt, Konstruktor) { // impliziter Prototyp von obj let implicitPrototype = obj?.__proto__; // Konstruktor-Prototyp const displayPrototype = constructor.prototype; // Durchlaufe die Prototypenkette, während (implicitPrototype) { // Gefunden, returniere true wenn (implicitPrototype === displayPrototype) true zurückgibt; implicitPrototype = implicitPrototype.__proto__; } // Die Durchquerung ist beendet und noch nichts gefunden, returniere false gibt false zurück; }
Holen Sie sich zuerst den impliziten Prototyp des Instanzobjekts: Anschließend können Sie fortfahren, den impliziten Prototyp der vorherigen Ebene abzurufen: implicitPrototype = implicitPrototype.__proto__; Um die Prototypenkette zu durchlaufen, müssen Sie herausfinden, ob sich Wenn
3. Überprüfung Schreiben Sie ein einfaches Beispiel, um Ihre Implementierung von Funktion Person() {} Funktion Person2() {} const usr = neue Person(); Funktion myInstanceof(Objekt, Konstruktor) { let implicitPrototype = obj?.__proto__; const displayPrototype = Konstruktor.Prototype; während (impliziter Prototyp) { wenn (implicitPrototype === displayPrototype) true zurückgibt; implicitPrototype = implicitPrototype.__proto__; } gibt false zurück; } meineInstanceof(usr, Person); // wahr meineInstanzvon(usr, Objekt); // wahr meineInstanzvon(usr, Person2); // falsch meineInstancevon(usr, Funktion); // falsch myInstanceof(usr.__proto__, Person); // falsch usr.__proto__instanceof Person; // falsch Wie Sie sehen, erzeugt Interessanterweise gibt Häufige handgeschriebene JavaScript-Codes: „GitHub – Code-js“ Dies ist das Ende dieses Artikels über die manuelle Implementierung von instanceof in JavaScript. Weitere relevante JavaScript-Instanceof-Inhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Tiefes Verständnis von Zeilenhöhe und vertikaler Ausrichtung
Methode 1: Ändern Sie die Datei .bashrc oder .bas...
Drop-Tabelle Drop löscht Tabelleninformationen di...
<br />Ich habe bereits zwei Artikel geschrie...
Frage Nginx nimmt $remote_addr als echte IP-Adres...
SVG (Scalable Vector Graphics) ist ein Bildformat...
<br />Die Informationen auf Webseiten besteh...
Als ich kürzlich das Linux-Betriebssystem zum Aus...
In diesem Artikelbeispiel wird der spezifische Co...
Vor kurzem traten bei der Bereitstellung der Umge...
Es gibt zwei Arten von Festplatten in Linux: gemo...
#!/bin/bash #SVN herunterladen yum -y installiere...
Die Datenmigration muss von MySQL nach ClickHouse...
brauchen: Den Geschäftsanforderungen entsprechend...
Inhaltsverzeichnis Einige grundlegende Anweisunge...
Inhaltsverzeichnis Docker-Bereitstellung Always o...