JQuery-Framework-Instanz-Code-Analyse

Quelle: Internet
Autor: Benutzer

Mit der Entwicklung der Zeit gesehen die JavaScript-Camp hat mehr ausgezeichneten Rahmenbedingungen, sollte unserer Entwicklungsarbeit erheblich vereinfachen, wenn wir diese Frameworks verwenden kein Trinkwasser, darüber nachzudenken, wie sie gebaut werden? Wenn Sie nicht zufrieden mit nur einige ab Lager sind erfolgt APIS, aber tiefes Verständnis ihrer internen Umsetzungsmechanismen (APIS sind die schnellsten entwertend Sache, wie jemand sagt), der beste Weg, ihren Quellcode zu lesen Sie es lesen.

Ich habe für die letzten zwei Tage daran gearbeitet.JQueryDer Source-Code, hier werden einige meiner flachen Verständnis zu verteilen, unsachgemäße Ort bitte korrekt. Nun, hier ist ein Blick auf die Funktionsweise von jQuery wahrscheinlich, und ich nehme an, Sie haben bereits einige grundlegende Javascript-Kenntnisse, und wenn die Grundlagen nicht ausreichen, ich empfehle die Lektüre der beiden Bücher, "JavaScript Advanced Programming" und "Verständnis JavaScript." Dieser Artikel eignet sich nicht für die JS innerhalb der Klasse, Objekte, Funktionen, Prototypen und andere Konzepte weiß nicht die Freunde.

Von Anfang beginnen wir mit den Worten:

Zuerst konstruieren Sie ein Objekt für den Benutzer, unter der Annahme, dass unser Framework heißt Shaka (mein Name);
Var Shaka = Funktion () {}; Hier erstellen Sie eine leere Funktion mit nichts drin, und diese Funktion ist eigentlich unser Konstruktor. Damit das Objekt wir generieren, um in der Lage zum Aufrufen der Methode im Prototyp definiert werden, müssen wir einige Methoden hinzufügen Shaka gewissermaßen Prototyp (man denke an Shaka als Klasse) und definieren:

Shaka.Fn = Shaka.prototype = {};

Die Shaka.fn hier ist gleichbedeutend mit der Alias des Shaka.prototype, die später einfach zu bedienen ist, und sie verweisen auf die gleiche Referenz.

OK, fügen Sie eine Methode SayHello Shaka, einen Parameter hinzufügen, so dass dieses Rahmens das grundlegende Erscheinungsbild bereits, hat wenn es Leben hat, dann es ist 1 Jahr alt, betrachten Sie nun den Code:

Ausführen von Code-Box
≪ Script Type = "Text/Javascript" > Var Shaka = Funktion (Alter) {this.age = Alter;}; Shaka.Fn = Shaka.prototype = {Sayhello:function () {Alert ("Ich bin ein kleines Baby, ich bin" + this.age + "Jahre alt."); {}}; Var BabyShaka = neue Shaka (1), babyShaka.sayHello (); < / script >
[Strg + A alle Auswahl-Tipps: Sie können einige der Code zuerst ändern, und drücken Sie dann laufen]

Nun, nicht aufregen, bemerkten wir, dass es gibt einige Unterschiede zwischen diesem Framework und jQuery verwendet, wie in JQ können wir dies schreiben:

JQuery ('#myid'). SomeMethod ();

Wie kommt es, das heißt, dazu kehrt diesen Konstruktor eine Objektinstanz von jQuery, so wir seine Methode, nennen können also die Shaka-Konstruktor eine Instanz zurückgeben sollte, die wie folgt aussieht (jQuery):

Var Shaka = Function () {return / / kehrte Shaka;};

Wie erhalten wir ein Beispiel für eine Shaka, betrachten wir zunächst die Var SomeObj = new MyClass (), bei Verwendung der Prototyp-Methode zur Simulation der Klasse; Dies ist eigentlich die Zeit, um ein neues Objekt SomeObje, um das neue Objekt als diesen Zeiger verwenden, um anzurufen MyClass-Funktion, der Konstruktor der Klasse, und dann SomeObj in der MyClass.prototype definierte Methode zu erstellen, Dieser Zeiger innerhalb dieser Methoden bezieht sich auf die aktuellen Objektinstanz.



Kontaktiere uns

Die Inhaltsquelle dieser Seite ist aus dem Internet, und vertritt nicht die Meinung von Alibaba Cloud; auf dieser Seite erwähnte Produkte und Dienstleistungen haben keine Beziehung zu Alibaba Cloud. Wenn der Inhalt der Seite Ihrer Meinung nach verwirrend ist, schreiben sie uns bitte eine E-Mail. Wir werden das Problem innerhalb von 5 Tagen nach Erhalt Ihrer E-Mail bearbeiten.

Wenn Sie Fälle von Plagiaten aus der Community feststellen, senden Sie bitte eine E-Mail an info-contact@alibabacloud.com und legen Sie entsprechende Beweise vor. Ein Mitarbeiter wird Sie innerhalb von 5 Werktagen kontaktieren.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.