ホームページ >バックエンド開発 >PHPチュートリアル >jQueryソースコード解析メモ_PHPチュートリアル

jQueryソースコード解析メモ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:28:59744ブラウズ

jQuery の目的は、Write Less, Do More です。これは、YUI ほど煩わしい JavaScript 開発スタイルではなく、もちろん Dojo や YUI ほど大規模ではありません。これにより、JavaScript の日常的な開発作業、主に DOM 要素の操作 (Query という名前からわかるように) が大幅に簡素化されます。すべてのフロントエンド開発者が直面する必要があるもう 1 つの大きな課題は、ブラウザーの互換性です。 jQuery は、邪悪な IE6 から Firefox や Chrome などの最新のブラウザまで、すべての主要なブラウザのほとんどのバージョンと互換性があります。コア コードのごく一部を除いて、jQuery の残りの部分は緩い関数であり、拡張性が高くなります。 http://plugins.jquery.com には、必要なほぼすべての機能に対応する jQuery プラグインがあり、複数の jQuery プラグインがあります。
jQuery コードの先頭は License ステートメントです。 GPLv2 と MIT の二重協定を採用しています。そして、jQuery 宣言の下には、別のプロジェクト Sizzle の宣言があります。これは、jQuery の作者によるもう 1 つのオープン ソース プロジェクトであり、MIT、BSD、および GPL の下でリリースされています。これは独立したセレクター実装 (純粋な JavaScript CSS セレクター エンジン) であり、独立して使用できます。その圧縮バージョンはわずか 3KB 強で、最も効率的なセレクターの実装として知られています。 jQuery は、1.3 以降、元のセレクター実装の代わりに Sizzle を使用します。
JS コードには () と {} がたくさんあります。これを読み取るために Vim が使用されています。これは、% コマンドで一致する括弧をすぐに見つけることができるためです。
全体的なコード構造と変数
jQuery コード全体は匿名関数呼び出しです:

コードをコピー コードは次のとおりです:

(function (window, unknown) {
// ...
})( window);

これは、グローバル オブジェクトの汚染を避けるためであり、同時に実行コンテキストを便利に管理することもできます。この手法は JS コードでよく見られ、jQuery コードでも一般的です。たとえば、jQuery が他の JS ライブラリとともに使用されている場合、$ 記号が使用されている可能性があります。 $ 記号を引き続き使用するには:
コードをコピーします コードは次のとおりです:

(function ($) {
// $("...")... Use $
}) (jQuery) いつものように

ここに実際の jQuery オブジェクトを渡します。
実際の実装部分に入りましょう。最初は、jQuery オブジェクトの宣言である $ です。2 つの最も基本的なメンバーもリストされています:
コードをコピーします コードは次のとおりです:

var jQuery = (function () {
var jQuery = function(selector, context) {
// 実際の初期化関数
return new jQuery.fn.init(selector, context, rootjQuery);
},
// たくさんの変数宣言
/ / fn は、jQuery プラグインの主要な関数実装ポイントであり、実際には JS プロトタイプです
jQuery.fn = jQuery.prototype = {
}; を拡張するために使用される関数です。オブジェクト。将来的には、jQuery へのメンバーの追加は、extend 関数
jQuery.extend = jQuery.fn.extend = function() {
}; を使用して行われるようになります。 ...
return jQuery;
})();


jQuery オブジェクトは、少数のユーティリティ関数を除いて、ほとんどが jQuery オブジェクトです。関数は、extend メソッドを使用して jQuery オブジェクトに追加されます。

http://www.bkjia.com/PHPjc/323478.html

tru​​ehttp://www.bkjia.com/PHPjc/323478.html技術記事 jQuery の目的は、Write Less, Do More です。これは、YUI ほど煩わしい JavaScript 開発スタイルではなく、もちろん Dojo や YUI ほど大規模ではありません。 JavaScript の日々の開発が大幅に簡素化されます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。