2010-01-14 29 views

回答

1

是的。來自:http://docs.jquery.com/Utilities/jQuery.extend

用一個或多個其他對象擴展一個對象,返回修改後的對象。 如果未指定目標,則會擴展JQuery名稱空間本身。這對希望向JQuery添加新方法的插件作者非常有用。

請記住,目標對象將被修改,並將從extend()返回。

如果布爾值true指定爲第一個參數,JQuery將執行深度複製,遞歸複製它找到的任何對象。否則,副本將與原始對象共享結構。 未複製的屬性未被複制。但是,從對象原型繼承的屬性將被複制。

0

true表示在提供的兩個對象之間產生了深層複製。

什麼擴展是以第一個對象作爲基礎(參數#2),並用第二個對象「擴展」它。

the jQuery docs

var settings = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
jQuery.extend(settings, options); 
// settings == { validate: true, limit: 5, name: "bar" } 

true作爲第一個參數意味着該擴展是在一個「深」時尚正在做,讓老對象引用不再發生。

0

$.extend()的後續參數被合併爲一個對象。第一個參數(true)是說做一個深層複製。

用一個或多個其他 擴展一個對象,返回修改的對象。 如果未指定目標,則將擴展JQuery 命名空間本身。對於希望 向JQuery添加新方法的插件作者,這可能是有用的。保留 請注意,目標對象將被修改爲 ,並將從 extend()返回。

如果一個true被指定爲 第一個參數,JQuery的執行深 拷貝,複製遞歸發現的任何對象 。否則,該副本將與原始 對象共享結構 對象。

未複製未定義的屬性。 但是,從 對象的原型繼承的屬性將被複制 。