1. jquery.extend(), 爲jQuery類添加類方法
例子1
image.png
例子2
image.png
調用直接用$.類名
image.png
2. jquery.extend(), 將兩個或更多對象的內容合併到第一個對象。
image.png
當我們提供兩個或多個對象給$.extend(),對象的所有屬性都添加到目標對象(target參數)。
如果只有一個參數提供給$.extend(),這意味着目標參數被省略。在這種情況下,jQuery對象本身被默認爲目標對象。這樣,我們可以在jQuery的命名空間下添加新的功能。
例子1 合併兩個對象,並修改第一個對象
image.png
在默認情況下,通過$.extend()合併操作不是遞歸的;如果第一個對象的屬性本身是一個對象或數組,那麼它將完全用第二個對象相同的key重寫一個屬性。這些值不會被合併。
例子2 採用遞歸方式合併兩個對象,並修改第一個對象。
image.png
如果將 true 作爲該函數的第一個參數,那麼會在對象上進行遞歸的合併。
例子3 合併 defaults 和 options 對象,並且不修改 defaults 對象
image.png
請記住,目標對象(第一個參數)將被修改,並且將通過$.extend()返回。然而,如果我們想保留原對象,我們可以通過傳遞一個空對象作爲目標對象:
varobject = $.extend({}, object1, object2);