ホームページ ウェブフロントエンド jsチュートリアル jQuery(オブジェクトの合成)_jqueryの1つを読み込む

jQuery(オブジェクトの合成)_jqueryの1つを読み込む

May 16, 2016 pm 06:05 PM
物体 構成

私は jQuery の書き方に非常に戸惑い、特に Prototype の $ を使った後はしばらく jQuery の $ が理解できませんでした。現在フロントエンドを学ぶ学生にとって、jQuery は最初に触れるものである可能性があり、非常に慣れていて自然なものであると感じるでしょう。

当時の API ドキュメントが今も私のパソコンに保存されているので、感謝の意を込めて写真を掲載させていただきます

jQuery(オブジェクトの合成)_jqueryの1つを読み込む


この時期、私の初級レベルの先生は Mo Mo でした。実際、彼は今でも私の尊敬する同僚の 1 人です。彼のプログラミングスキルは非常に高く、プログラミング言語の限界をすでに突破していると信じています。中国で jQuery がまだ普及する前、誰もが Prototype.js を使用していたとき、彼はすでに jQuery をプロジェクトに導入していました。

本題に戻りましょう。現在の jQuery バージョンは 1.6.1 になりました。当時の約2,000行から9,000行まで拡大しました。もうすぐ1wラインを突破すると思います。一部の単純な Web ページでは、jQuery の導入はそれほど軽量ではなくなりました。ここでの学習はバージョン 1.6.1 で、読み書きを同時に行い、最終的に 1,000 行程度の「mini jQuery」を書きます。


以下は jQuery 1.6.1 コード スニペットです

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

var jQuery = function( selector, context ) {
// jQuery オブジェクトは、実際には単に init コンストラクター '強化された'
return new jQuery.fn.init( selector, context, rootjQuery );
},
...
class2type = {};

jQuery.fn = jQuery.prototype = {
コンストラクター: jQuery,
init: function(selector, context, rootjQuery){
}
}

// 後のインスタンス化のために init 関数に jQuery プロトタイプを与えます
jQuery.fn.init.prototype = jQuery.fn; 🎜>
一見すると、
プロトタイプ メソッド
を使用してクラス jQuery (別名 $) を記述しているように見えますが、実際に使用するときは、関数呼び出しを使用します。 $("#id")、新しい $("# id") ではありません。 Identifier
jQuery は関数であり、関数 init の新しいインスタンスを作成して戻ります。これまでのところ、実際のコンストラクターは jQuery.fn.init であることがわかっています。 jQuery の記述は非常に奇妙で、jQuery プロトタイプで init がハングするため、読むのが少しわかりにくくなります。 jQuery.fn.init.prototype = jQuery.fn;

がキーセンテンスです。この文は、関数 jQuery のプロトタイプを関数 init のプロトタイプに代入します。 $("#id") を呼び出したときに返されるオブジェクトは 2 つの部分で構成されます。 1、関数 init (this.context など) によってもたらされます。2、関数 jQuery のプロトタイプ (this.size/this.toArray など) によってもたらされます。
jQuery を模倣して


コードをコピーします コードは次のとおりです: / / zchain-0.1 .js
function $(selector){
return new $.prototype.init(selector)
}
$.prototype={
init:function(selector); {
if(selector === 未定義){
this.length = 0;
これを返す;
}
if(selector.nodeType==1){
this[ 0] = セレクター ;
}else{
this[0]=document.getElementById(selector)
}
},
css:function (name,value ){
this[0].style[name] = value;
return this;//chain call
},
hide:function(){
var self =this;
setTimeout(function(){
self[0].style.display="none";
},3000);
}
$.prototype.init.prototype=$.prototype;


簡単にするために、ここではセレクターは HTML 要素または要素 ID のみを渡します (将来、ただしすべての CSS セレクターは実装されません))、length 属性がこれに付加され、値 1 が割り当てられます。




コードをコピーします

コードは次のとおりです: var obj = $( ); console.dir(obj);
$() は、呼び出し後に obj の構成をテストするためだけに意味がありません。 Firebug コンソールの出力は次のとおりです:
length:0;
init:function
attr:function
hide:function

つまり、obj オブジェクトは this とfunction init の function $ プロトタイプで構成されます。
$.prototype のメソッドを見ると、css メソッドと Hide メソッドを追加しただけで、これら 2 つのメソッドの実装も非常に簡単です。




コードをコピー

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


3 秒後に非表示になります。



まず css を呼び出してフォントの色を赤に設定し、3 秒後に非表示にします。
要約すると:
jQuery オブジェクトは jQuery.prototype.init のインスタンスを指します。これは単に新しい jQuery.prototype.init です。ここでの jQuery.prototype.init の型は function であり、クラスとみなすことができます。

jQuery オブジェクトは次の部分で構成されます。
1. jQuery.prototype.init でこれに関連するプロパティまたはメソッド。
2、jQuery.prototype.init.prototype にハングするプロパティまたはメソッド。
3. jQuery.prototype は jQuery.prototype.init.prototype に割り当てられるため、jQuery.prototype にぶら下がっているプロパティとメソッドも jQuery オブジェクトの一部です。
4. jQuery.fn.extend({...}) によって拡張されたプロパティまたはメソッド (後述)。
/201106/yuanma/zchain.rar
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP の json_encode() 関数を使用して配列またはオブジェクトを JSON 文字列に変換する PHP の json_encode() 関数を使用して配列またはオブジェクトを JSON 文字列に変換する Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) は、Web アプリケーション間のデータ交換の一般的な形式となっている軽量のデータ交換形式です。 PHP の json_encode() 関数は、配列またはオブジェクトを JSON 文字列に変換できます。この記事では、PHPのjson_encode()関数の構文、パラメータ、戻り値、具体的な例などの使い方を紹介します。構文 json_encode() 関数の構文は次のとおりです。

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する Python の __contains__() 関数を使用してオブジェクトの包含操作を定義する Aug 22, 2023 pm 04:23 PM

Python の __contains__() 関数を使用して、オブジェクトの包含操作を定義します。Python は、さまざまな種類のデータを処理するための多くの強力な機能を提供する、簡潔で強力なプログラミング言語です。その 1 つは、__contains__() 関数を定義してオブジェクトの包含操作を実装することです。この記事では、__contains__() 関数を使用してオブジェクトの包含操作を定義する方法とサンプル コードを紹介します。 __contains__() 関数は Pytho です

ソースコードの探索: Python ではオブジェクトはどのように呼び出されますか? ソースコードの探索: Python ではオブジェクトはどのように呼び出されますか? May 11, 2023 am 11:46 AM

Wedge オブジェクトは主に 2 つの方法で作成されることがわかっています。1 つは Python/CAPI を使用する方法、もう 1 つは型オブジェクトを呼び出すことによる方法です。組み込み型のインスタンス オブジェクトについては、両方のメソッドがサポートされています。たとえば、リストは [] または list() を通じて作成できます。前者は Python/CAPI で、後者は呼び出し型オブジェクトです。ただし、カスタム クラスのオブジェクトの場合は、型オブジェクトを呼び出すことによってのみ作成できます。オブジェクトを呼び出すことができる場合、そのオブジェクトは呼び出し可能ですが、それ以外の場合は呼び出し可能ではありません。オブジェクトが呼び出し可能かどうかは、対応する型オブジェクトにメソッドが定義されているかどうかによって決まります。のように

PHP における配列とオブジェクトの違いは何ですか? PHP における配列とオブジェクトの違いは何ですか? Apr 29, 2024 pm 02:39 PM

PHP では、配列は順序付けられたシーケンスであり、要素はインデックスによってアクセスされます。オブジェクトは、new キーワードによって作成されたプロパティとメソッドを持つエンティティです。配列へのアクセスはインデックス経由で、オブジェクトへのアクセスはプロパティ/メソッド経由で行われます。配列値が渡され、オブジェクト参照が渡されます。

Javascriptオブジェクトの5つのループトラバースメソッドを詳しく解説 Javascriptオブジェクトの5つのループトラバースメソッドを詳しく解説 Aug 04, 2022 pm 05:28 PM

Javascript オブジェクトをループするにはどうすればよいですか?次の記事では、5 つの JS オブジェクト走査方法を詳しく紹介し、これら 5 つの方法を簡単に比較します。

Python の __le__() 関数を使用して、2 つのオブジェクトの小なり等しい比較を定義します。 Python の __le__() 関数を使用して、2 つのオブジェクトの小なり等しい比較を定義します。 Aug 21, 2023 pm 09:29 PM

タイトル: Python の __le__() 関数を使用して 2 つのオブジェクト以下の比較を定義する Python では、特別なメソッドを使用してオブジェクト間の比較演算を定義できます。その 1 つは __le__() 関数で、以下の比較を定義するために使用されます。 __le__() 関数は Python のマジック メソッドであり、「以下」演算を実装するために使用される特別な関数です。小なり等しい演算子 (<=) を使用して 2 つのオブジェクトを比較すると、Python

PHP の Request オブジェクトとは何ですか? PHP の Request オブジェクトとは何ですか? Feb 27, 2024 pm 09:06 PM

PHP の Request オブジェクトは、クライアントからサーバーに送信される HTTP リクエストを処理するために使用されるオブジェクトです。 Request オブジェクトを通じて、リクエストを処理して応答するために、リクエスト メソッド、リクエスト ヘッダー情報、リクエスト パラメータなどのクライアントのリクエスト情報を取得できます。 PHP では、$_REQUEST、$_GET、$_POST などのグローバル変数を使用して、要求された情報を取得できますが、これらの変数はオブジェクトではなく配列です。リクエスト情報をより柔軟かつ便利に処理するために、次のことができます。

See all articles