ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryの各メソッド使用例sharing_jquery

jqueryの各メソッド使用例sharing_jquery

WBOY
WBOYオリジナル
2016-05-16 16:54:311050ブラウズ

jQuery オブジェクトの場合、各メソッドは単純に委譲されます。jQuery オブジェクトは、最初のパラメーターとして jQuery の各メソッドに渡されます。つまり、jQuery によって提供される各メソッドは、パラメーター 1 によって提供されるオブジェクト用です。メソッド内のすべての子要素は 1 つずつ呼び出されます。 jQuery オブジェクトが提供する each メソッドは、jQuery 内のサブ要素を 1 つずつ呼び出します。

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

jQuery.prototype.each=function( fn , args ) {
return jQuery.each( this, fn, args )
}

jQuery が提供する各メソッド、jQuery.each(obj,fn,arg) の具体的な実装を見てみましょう

このメソッドには、操作対象のオブジェクト obj、操作対象の関数 fn、および関数パラメーター args の 3 つのパラメーターがあります。

ojb オブジェクトの観点から説明しましょう:

1. obj オブジェクトは配列です

each メソッドは、特定のサブ要素を呼び出して返される結果が false になるまで、配列内のサブ要素に対して fn 関数を 1 つずつ呼び出します。つまり、提供された fn 関数で処理できます。特定の条件を満たすようにするには、各メソッド呼び出しを終了するだけです。 each メソッドが arg パラメーターを提供する場合、fn 関数呼び出しによって渡されるパラメーターは arg です。それ以外の場合は、サブ要素のインデックス、サブ要素自体です。

2. obj オブジェクトは配列ではありません

このメソッドと 1 の最大の違いは、fn メソッドが戻り値を考慮せずに次々に実行されることです。つまり、fn 関数が false を返した場合でも、obj オブジェクトのすべてのプロパティが fn メソッドによって呼び出されます。呼び出しで渡されるパラメータは 1 に似ています。

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

jQuery.each=function( obj, fn , args ) {
if ( args ) {
if ( obj.length == unknown ){
for ( var i in obj )
fn.apply( obj, args ); }else{
for ( var i = 0, ol = obj.length; i
if ( fn.apply( obj, args ) === false )
Break;
}
}
} else {
if ( obj.length == unknown ) {
for ( var i in obj )
fn.call( obj, i, obj ) ;
} Else {
for (var I = 0, OL = OBJ.Length, VAL = OBJ [0]; I & LT; OL && FN.CALL (VAL, I, Val)! == False ; Val = Obj [ i] ){}
}
}
return
}

各メソッドの fn の具体的な呼び出しメソッドは、単純な fn(i, val) や fn(args) ではなく、fn.call(val,i,val) または fn の形式であることに注意することが重要です。 apply(obj.args) は、独自の fn 実装で、このポインターを直接使用して配列またはオブジェクトのサブ要素を参照できることを意味します。このメソッドは、ほとんどの jQuery で使用される実装メソッドです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。