違いを知りたい:
$('a').map(function(){return this})
$.map($('a'), function(){return this})
firebug
コンソールでテストすると、動作が異なります。
簡単にテストしただけで、パフォーマンスは異なります。後者のコンテキストでの「this」は、ウィンドウオブジェクトを参照します。ただし、渡されたオブジェクト/配列をループするときに、現在の要素にアクセスできます。
$('a').map(function(){
return this
});
$.map($('a'), function(el){
return el;
});
後者は通常、jQuery以外のオブジェクトと配列に使用されますが、前者はこの目的に使用されます。
詳細については、ドキュメントを参照してください。
違いはなく、
$('a').map(function(){return this})
ラッパーです
$.map($('a'), function(){return this})
実際、これはjQueryのソースコードです
map: function( callback ) {
return this.pushStack( jQuery.map(this, function( elem, i ) {
return callback.call( elem, i, elem );
}));
},
編集-もちろん(私はそれを当然のこととして与えました)コレクションをthis
呼び出すときに現在の要素を.map()
参照し、コレクションを反復処理するときにウィンドウオブジェクトを参照します$.map()