Heim > Web-Frontend > js-Tutorial > Hauptteil

Weitergabe eines neuen Verständnisses dieses Zeigers in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:16:37
Original
1032 Leute haben es durchsucht

Das Verständnis davon war immer, dass es verwendet werden kann und verwendet werden kann, aber es hat sich nicht mit seinem Wesen befasst. Dieses Mal habe ich durch „JavaScript The Good Parts“ ein tiefes Verständnis gewonnen. (Alle Debugging-Vorgänge können in der Konsole angezeigt werden, Browser-F12-Taste)

Lass uns das gemeinsam anschauen.

Wenn wir eine Funktion deklarieren, verfügt jede Funktion zusätzlich zu den Parametern (formalen Parametern) bei ihrer Definition auch über zwei zusätzliche Parameter, einer ist dieser und der andere sind Argumente (tatsächliche Parameter). Argumente sind die tatsächlich von der Funktion empfangenen Parameter, bei denen es sich um ein Array-ähnliches Array handelt. Ich werde nur eine kurze Einführung in die Argumente geben und mich dabei auf diesen Zeiger konzentrieren.

Bei der objektorientierten Programmierung ist dies sehr wichtig und sein Wert hängt vom Aufrufmodus ab. In JavaScript gibt es insgesamt 4 Aufrufmodi: Methodenaufrufmodus, Funktionsaufrufmodus, Konstruktoraufrufmodus und Anwendungsaufrufmodus.

Methodenaufrufmodus

Wenn eine Funktion als Eigenschaft eines Objekts verwendet wird, nennen wir die Funktion normalerweise eine Methode des Objekts. Wenn diese Methode aufgerufen wird, zeigt sie auf das Objekt, zu dem die Methode gehört.

Code kopieren Der Code lautet wie folgt:


Wie in der Kastanie gezeigt, verweist dies auf das sayName-Objekt. Diese Methode zum Abrufen des Kontexts des Objekts ist eine öffentliche Methode. (öffentliche Methode)

Funktionsaufrufmodus

Wenn eine Funktion aufgerufen wird, aber keine Methode für ein Objekt ist, wird sie als Funktion aufgerufen.

Beim Aufruf in diesem Modus zeigt dies auf das Fensterobjekt, auch wenn diese Funktion möglicherweise in einer externen Funktion aufgerufen wird. Schauen wir uns ein Beispiel an.

Code kopieren Der Code lautet wie folgt:


So gesehen wissen Sie wahrscheinlich, wie Sie den „Designfehler“ von JavaScript beheben können.

Ja, speichern Sie dies einfach in der Student-Funktion (Zeile 6). Übertragen Sie dies dann über eine Variable auf die Funktion sayName und Sie können es lösen!

Code kopieren Der Code lautet wie folgt:

var people = {
         Name: „people-Yika“,
Student: function(){
              var self = this; //Cache this
              Funktion sayName(){
              var name = "sayName-Yika";
                        console.log(self.name); //"people-Yika", self zeigt zu diesem Zeitpunkt auf das Personenobjekt
            };
                sayName();
}
}

Konstruktor-Aufrufmodus

Wenn Sie über Konstruktoren in JavaScript sprechen, werden Sie denken: „Schreiben Sie den Funktionsnamen groß! Verwenden Sie beim Aufruf den neuen Operator!“ Die Großschreibung des Funktionsnamens ist leicht zu verstehen und dient dazu, die Benennung von Konstruktoren zu standardisieren und zu vereinheitlichen. Aber haben Sie sich schon einmal damit beschäftigt, warum Sie „new“ verwenden müssen? Wenn Sie eine Funktion mit new davor aufrufen, erstellt der Funktionshintergrund ein neues Objekt, das auf den Prototyp der Funktion zeigt, und dieser wird ebenfalls an das neue Objekt gebunden. JavaScript ist eine Sprache, die auf der Prototypenvererbung basiert. Schüler, die sich über den Prototyp nicht im Klaren sind, können die Informationen selbst überprüfen.

Werfen wir zunächst einen Blick darauf, wie ein Konstruktor im Allgemeinen aussieht.

Code kopieren Der Code lautet wie folgt:




Auf den ersten Blick scheint es nicht leicht zu verstehen, warum dies in der Funktion gerade auf das Fenster verwiesen wurde, jetzt aber ohne Zwischenspeicherung auf die Personenfunktion verweisen kann.

Es spielt keine Rolle, dass eine Funktion, wenn sie über new aufgerufen wird, hinter den Kulissen „schlechte Dinge“ tut.





Sie werden es klar verstehen, wenn Sie es so betrachten. New generiert nicht nur ein Objekt, sondern gibt dieses Objekt auch automatisch zurück, sodass dies natürlich auf dieses neue Objekt verweist.
Verwenden Sie unbedingt new, um den Konstruktor aufzurufen, da sonst keine Warnung erfolgt, wenn etwas schief geht. Alle Großbuchstaben sind weiterhin unbedingt erforderlich.

Anrufmodus anwenden

Die Methode apply ermöglicht es uns, ein Array von Parametern zu erstellen, die an die aufrufende Funktion übergeben werden, und ermöglicht uns auch, diesen Wert zu ändern.

function.apply(dieser gebundene Wert, Argumentparameter-Array)

Es gibt zu viel, was man über Bewerbung sagen kann. Ich werde Ihnen nur ein paar Beispiele geben, um Ihnen das Verständnis zu erleichtern:


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage