2010-09-20 143 views
1

jQuery.extend默認動作鑑於:只有一個輸入

jQuery.extend({ 
    fooBar: function(){ return 'baz'; } 
}); 

它修改基本jQuery對象? 所以之後你可以撥打電話jQuery.fooBar(); // 'baz'

在文檔中沒有任何東西,但這就是我所知道的源代碼。

回答

2

的行爲被記錄在這裏:http://api.jquery.com/jQuery.extend/

如果只有一個參數提供給$.extend(),這意味着目標參數被省略。在這種情況下,jQuery對象本身被假定爲目標。通過這樣做,我們可以將新的函數添加到jQuery名稱空間。這對希望向JQuery添加新方法的插件作者非常有用。

+0

<。<顯然我需要記住如何正確閱讀>。> – Rixius 2010-09-20 18:24:12

1

是的我相信這是正確的。同樣,如果您希望能夠調用$(somejQueryObject).fooBar();你可以做到這一點

$.fn.fooBar = function() { 
    return $.fooBar(); 
};