0
var arr = [1, 2, 3];

$(arr).each(function() { alert(this) });

セットがDOM要素ではなく整数で構成されていることを除いて、これはjQueryで問題なく機能します。これは許してはいけないのでしょうか。

4

2 に答える 2

1

Felix Kling が言うように、それは彼らの決定です。

$(arr).each()は許可されていますが、 よりも効率が悪いと考えられるため、使用しないでください$.each()

ソース: http://api.jquery.com/each/#comment-40044794

これも読んでください:http://api.jquery.com/each/#comment-38585086

于 2012-10-11T03:13:55.823 に答える
1

jQuery関数 ( と同等) は、jQuery オブジェクトの通常の配列$を返します。

したがって、スニペットは単なる通常の配列であるため、スニペットが機能することは完全に理にかなっています。

ポール・アイリッシュが言うようにソースを見ると、基本的に同じコードを使用していることがわかります

$.each(array, function(index, value) {});

通常の配列とオブジェクトを処理します。

基本的に、機能するために配列の内容は気にせず、配列を反復処理するだけです。

そうは言っても、明確にするために、おそらく$.each()バリエーションを使用する必要があります。これは、より高速で(より直接的で)、jQuery オブジェクトではなく「プレーンな」値の「通常の」配列であることがすぐにわかるからです。

セマンティクスは重要です。

于 2012-10-11T03:14:40.990 に答える