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
1. Umweltanforderungen 1. Docker 17 und höher wur...
Dieser Artikel beschreibt, wie man PHP und Nginx ...
Umwelt: [root@centos7 ~]# uname -r 3.10.0-514.el7...
Kürzlich wurde bei einem Online-Sicherheitsscan e...
Überblick Im vorherigen Kapitel haben wir die Fil...
Inhaltsverzeichnis Diffing-Algorithmus Schicht-fü...
Methode join(): verbindet alle Elemente eines Arr...
1. Problem Die Docker-Containerprotokolle führten...
Vorwort WeChat-Miniprogramme bieten neue offene F...
Nginx-Installation Stellen Sie sicher, dass die v...
Inhaltsverzeichnis Zusammenfassung der Distribute...
Schauen Sie sich den Code an: Code kopieren Der Co...
Was ist HTTP? Wenn wir eine Website durchsuchen m...
Docker Compose Docker Compose unterteilt die verw...
Heute möchte ich über ein „Low-Tech“-Problem schr...