[JQuery]Jquery中的extend函数

145 阅读1分钟
$.extend(A,B)

此函数会将B对象的属性合并到A对象中。值得一提的是此方法可以使用在C = B 上,写作 C = $.extend({},B),这样避免了 B 为null的情况。

另外,此方法还有一个拓展:

$.extend(boolean,A,B)            $.extend(false,A,B)相当于$.extend(A,B),即浅拷贝

浅拷贝只会拷贝A和B的下一层属性,并不会递归拷贝下一层中的对象的属性,是直接复制的对象,这样就会导致C的属性对象直接指向A、B中被复制的属性对象的内存地址,导致C修改的时候会影响到B,如果要避免这一影响,可以使用深拷贝

$.extend(boolean,A,B)

深度拷贝不仅会迭代往下拷贝,而且也会新建对象和数组,不再指向之前的对象和数组

参考:www.zhihu.com/question/23…