JQソース分析

2669 ワード

最初はJQソースを書くのが楽しみでした.しかし自分のレベルは本当に有限で、本当にJQのソースコードの正体を理解することができなくて、最近、Aaronのブログを見て、慕の授業のネット上のソースコードの分析を見て、もちろん秒味の授業のも悪くなくて、Aaronのブログのリンクは私は下に置いて、私も彼のブログを見て、やっとJQのソースコードを書く情熱が芽生えて、以下の内容も彼のブログのいくつかの感じの感想を見て、もちろんみんなは直接Aaron大神のブログを見ることができて、--|结局书いたのは人の大神の良いことがなくて、私のここはいくつかJSの基础に対してよくないかもしれなくて、基础の问题を说明して、主にやはり自分に1つのノートを残します!!当時のAaronブログを見て分からないことがあったことをメモします.
Aaronのブログ園http://www.cnblogs.com/aaronjs/p/3279314.html
jQueryのnewなし構築まず彼が言った最初のものは、JSのファクトリモードのように戻りオブジェクトを作成することができ、ファクトリモードは関数でカプセル化され、内部でオブジェクトを作成し、オブジェクトにメソッドと属性を付与し、最後にオブジェクトを返すモードである.
function creatFn(name ,age){
    var o=new Object();
    o.name=name;
    o.age=age;
    o.sayAge(){
        alert(this.age);
    }
    return o;
};//          。this      

ここではプロトタイプについても言及し、プロトタイプについて説明します.プロトタイプは共有属性にありますが、欠点も共有属性で、成也共有敗也共有かもしれません.一般的には構造とプロトタイプを一緒に使うのが便利です.まずプロトタイプについてお話しします.例を挙げてみましょう.
function People(){
}
People.prototype={
    constructor:People,//        ,         
    name:"xiaofengfeng".
    age:19;
    job:"student"
}
var people1=new People()
var people2=new People()
alert(people1.name)//xiaofengfeng
alert(people2.name)//xiaofengfeng
//       ,     ,                     ,         

次に、プロトタイプの関係を整理します.主にプロトタイプとインスタンスとコンストラクション関数の3つの関係を下図に示します.これはjavascriptの高度なプログラム設計から見つけた図です.プロトタイプとコンストラクション関数の間には関係がありません.プロトタイプの間に関係がある原文だけでthisを分離し、相互混同を避けたいので、new、newメソッドの後、thisで新しく作成したオブジェクトの属性を使用することができます.
役割ドメインを分離してjQueryプロトタイプオブジェクトの役割ドメインを使用できるようにしますか?また、戻りインスタンスでjQueryのプロトタイプオブジェクトにアクセスできますか?プロトタイプ伝達により問題を解決し、jQueryのプロトタイプをjQueryに伝達する.prototype.init.prototypeは、initプロトタイプメソッドのthisがインスタンスを指していることを説明します.ここにはインスタンスのプロトタイプをインスタンスに与えることで、そのaQueryインスタンスがそのプロパティとメソッドにアクセスできます.
チェーン呼び出しについては、私の前に接尾辞を书く详しく书いた理由がありますが、プラグインインタフェースについては详しくは言いません.この文章はあまり話さなかったようだ.