我想知道之間的區別:他們的行爲不同,當我測試它們在firebug
控制檯在jQuery.map「這個」關鍵字()
$('a').map(function(){return this})
$.map($('a'), function(){return this})
。
我想知道之間的區別:他們的行爲不同,當我測試它們在firebug
控制檯在jQuery.map「這個」關鍵字()
$('a').map(function(){return this})
$.map($('a'), function(){return this})
。
剛剛經過簡短測試,它們的表現有所不同。後者中的'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()
他們是如何表現不同? – Brandan 2012-04-12 10:49:55