Mit der Entwicklung der Zeiten sind im JavaScript -Camp immer mehr Frameworks aufgetreten, was unsere Entwicklungsarbeiten stark vereinfacht hat. Wenn Sie nicht mit der Verwendung einiger fertiger APIs zufrieden sind, sondern ein tiefes Verständnis der internen Implementierungsmechanismen (wie jemand sagt, sind APIs die schnellste Abschreibungssache), ist es am besten, ihren Quellcode zu lesen ist, dass Sie es verstehen können.
Ich habe in den letzten zwei Tagen den Quellcode von JQuery studiert. Okay, schauen wir uns an, wie JQuery funktioniert. Dieser Artikel ist nicht für Freunde geeignet, die kein Verständnis für Konzepte wie Klassen, Objekte, Funktionen, Prototypen usw. in JS haben.
Beginnen wir mit dem Anfang:
Erstellen Sie zunächst ein Objekt für den Benutzer, vorausgesetzt, unser Framework heißt Shaka (mein Name;))
var shaka = function () {}; Damit das generierte Objekt die im Prototyp definierten Methoden aufrufen kann, müssen wir Shaka im Prototyp einige Methoden hinzufügen (Shaka als Klasse einnehmen), also definieren wir:
Shaka.fn = shaka.prototype = {};
Hier entspricht Shaka.fn dem Alias von Shaka.Prototyp, was für die zukünftige Verwendung bequem ist.
OK, fügen wir Shaka eine Methode hinzu und fügen Sie einen Parameter hinzu, damit das grundlegendste Rahmen bereits vorhanden ist.
Führen Sie die Codebox aus
[Strg+A Alle Auswahltipps: Sie können zuerst einen Code ändern und dann Run drücken]
OK, seien Sie nicht aufgeregt, wir haben festgestellt, dass es einige Unterschiede zwischen diesem Framework und JQuery gibt. Zum Beispiel können wir in JQ auf diese Weise schreiben:
JQuery ('#Myid'). Somemethod ();
Wie funktioniert das?
var shaka = function () {return // die Instanz von Shaka zurückgeben;
Wie erhalten wir also eine Instanz von Shaka? Die MyClass -Funktion, dh der Klassenkonstruktor, und dann erhalten einige in Myclass.Prototype definierte Methoden.