jQuery(オブジェクトの合成)_jqueryの1つを読み込む
私は jQuery の書き方に非常に戸惑い、特に Prototype の $ を使った後はしばらく jQuery の $ が理解できませんでした。現在フロントエンドを学ぶ学生にとって、jQuery は最初に触れるものである可能性があり、非常に慣れていて自然なものであると感じるでしょう。
当時の API ドキュメントが今も私のパソコンに保存されているので、感謝の意を込めて写真を掲載させていただきます
この時期、私の初級レベルの先生は 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 を模倣して
}
$.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 が割り当てられます。
コードをコピーします
init:function
attr:function
hide:function
つまり、obj オブジェクトは this とfunction init の function $ プロトタイプで構成されます。
$.prototype のメソッドを見ると、css メソッドと Hide メソッドを追加しただけで、これら 2 つのメソッドの実装も非常に簡単です。
コードをコピー
まず 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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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