1. Dies deutet darauf hin Dies verweist im Konstruktor auf das Instanzobjekt. Worauf also weist der Prototyp-Einwand hin? wie folgt: Funktion Student(Alter,Name){ dieses.Alter = Alter; dieser.name = Name; } var das; Student.prototype.score = Funktion(){ console.log('Die Kinder haben alle gute Noten!'); das = dies; } var xl = neuer Student(18,'Kleiner Bär'); xl.score(); Konsole.log(das === xl); Definieren Sie eine globale Variable, die dieser in der Score-Funktion einen Wert zuweist, lassen Sie sie in der Funktion auf this verweisen, rufen Sie die Score-Methode des Instanzobjekts auf und bestimmen Sie, ob dieses und das Instanzobjekt konsistent sind. Wenn sie konsistent sind, bedeutet dies, dass das Prototypobjekt this auf die Instanz verweist. Das Druckergebnis ist: Das heißt, das Prototypobjekt enthält die Methode, und dies in der Methode verweist auf den Aufrufer der Methode, also das Instanzobjekt. 2. Ändern Sie diesen Punkt1. call()-MethodeSchreiben Sie eine einfache Funktion zum Addieren zweier Zahlen. Funktion fn(a,b){ konsole.log(a+b); konsole.log(dies); } fn(1,2) Drucken Sie dies innerhalb der Funktion, rufen Sie die Funktion auf und sehen Sie, wohin dies zeigt. Es ist ersichtlich, dass dies auf das Fensterobjekt verweist. Wenn wir möchten, dass dies auf ein neu erstelltes Objekt verweist, wie machen wir das? Definieren Sie zunächst ein Objekt. o = {}; Ändern Sie dann diesen Punkt durch call(), um auf das neu erstellte Objekt o zu verweisen. o = { Name: "xl" }; fn.call(o,1,2); Das Druckergebnis ist: Dies zeigt nun auf das neu erstellte Objekt o, was bedeutet, dass die Änderung erfolgreich war. 2. apply()-MethodeDie Methoden apply() und call() sind im Grunde gleich, daher werde ich hier nicht näher darauf eingehen. Kommen wir direkt zum Code: Funktion fn(a,b){ konsole.log(a+b); konsole.log(dies); } o = { Name: "xl" }; fn.apply(o,[1,2]); Es lässt sich feststellen, dass zwischen diesen beiden Methoden immer noch Unterschiede bestehen, nämlich: Die von call () akzeptierten Parameter müssen kontinuierliche Parameter sein, während die von der Methode apply () empfangenen Parameter die Form von Array-Parametern haben. ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Einführung in das Methodenattribut des Formularformulars in HTML
>>: So entwerfen Sie MySQL-Statistikdatentabellen
Grundlegende Konzepte Standardmäßig erstellt Comp...
Detaillierte Erklärung zur Fehlplatzierung des Ein...
Installationspfad: /application/mysql-5.7.18 1. V...
Öffnen Sie den Centos Yum-Ordner Geben Sie den Be...
Mein Chef hatte mich gebeten, ein Programm zu ers...
Das Computersystem ist: win7 Dieser Artikel basie...
Der folgende Fall überprüft die Wissenspunkte der...
CSS realisiert den Prozessnavigationseffekt. Der ...
In diesem Artikelbeispiel wird der spezifische Co...
Als ich MySQL zum ersten Mal auf meiner virtuelle...
Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...
Inhaltsverzeichnis 502 Bad Gateway Fehlerbildung ...
Methode 1: Bitte fügen Sie den folgenden Code nach...
Vorwort Jeder Entwickler, der mit JS in Berührung...
Inhaltsverzeichnis Einführung Öffentlicher Code (...