天天看點

30、jQuery 的屬性拷貝的實作原理是什麼,如何實作深淺拷貝?

作者:池梓沐

jQuery.extend() 函數用于将一個或多個對象的内容合并到目标對象。

文法

$.extend( target [, object1 ] [, objectN ] )

訓示是否深度合并

$.extend( [deep ], target, object1 [, objectN ] )

注意:不支援第一個參數傳遞 false 。

30、jQuery 的屬性拷貝的實作原理是什麼,如何實作深淺拷貝?

深拷貝:深拷貝代碼把 extend 函數的第一個參數設定為 true:(對原始對象屬性所引用的對象進行遞歸拷貝)var newObject = $.extend(true, {},oldObject);

淺拷貝:淺拷貝代碼 extend 函數裡不傳入第一個參數,預設為 false(隻複制一份原始對象的引用)var newObject = $.extend({}, oldObject);