時代の開発に伴い、これらのフレームワークを使用するときに、JavaScriptキャンプにますます優れたフレームワークが登場しています。既製のAPIを使用するだけでなく、内部実装メカニズムを深く理解している場合(誰かが言うように、APIは最速の減価償却です)、最良の方法はソースコードを読むことですあなたがそれを理解できるということです。
私はここ2日間でjQueryのソースコードを勉強しました。さて、jqueryがどのように機能しているかを見てみましょう。この記事は、JSのクラス、オブジェクト、機能、プロトタイプなどの概念を理解していない友人には適していません。
最初から始めましょう:
まず、フレームワークがシャカ(私の名前;)と呼ばれると仮定して、ユーザーのオブジェクトを作成します)
var shaka = function(){};ここでは、この機能は実際にはコンストラクターです。生成されたオブジェクトがプロトタイプで定義されているメソッドを呼び出すために、プロトタイプにシャカにいくつかの方法を追加する必要があります(シャカをクラスとして取得)。
shaka.fn = shaka.prototype = {};
ここでは、Shaka.fnはShaka.prototypeのエイリアスに相当します。これは、将来の使用に便利です。
さて、Sayhelloにメソッドを追加し、Shakaにパラメーターを追加してください。
コードボックスを実行します
[ctrl+aすべての選択のヒント:最初にコードを変更してから実行することができます]
わかりました、興奮しないでください、私たちはこのフレームワークと使用中のjQueryの間にいくつかの違いがあることに気づきました。たとえば、JQでこのように書くことができます。
jQuery( '#myid')。somemethod();
これはどのように機能しますか?コンストラクターjQuery()はjQueryのインスタンスを返すため、Shakaのコンストラクターはインスタンスを返す必要があります。
var shaka = function(){return // shakaのインスタンスを返します。
では、どのようにして、shakaの最初のレビューを行いますMyClass関数、つまりクラスコンストラクター、およびSomeOBJは、MyClass.Prototypeで定義された方法を取得します。