angular.copy、angular.extend

岳俊雅
2023-12-01

一、angular.copy

angular.copy用于深复制
angular.copy(src,[dst])
    src:源对象
    dst:目标对象,复制的对象
js中 ‘= ’操作符复制的是指针,所以前后两个变量指向的还是内存中的同一个对象,所以在其中一个变量上操作该对象时,对另外一个变量也会生效。而angular.copy方法是深复制,会在内存中再生成一个对象,两个变量彼此独立,互不影响。
    接收一个必须参数src,一个可选参数dst。如果dst没有提供,就会创建对象或者数组的复制份。如果dst存在,删除原有的元素,然后从源对象中复制所有的数据。返回复制的对象或数组。

var src = {"username" : "angularjs"};
var dst = {};
angular.copy(src, dst);

console.log("dst:", dst);

运行结果

dst: {"username" : "angularjs"}

二、angular.extend

angular.extend用于拓展
angular.extend(dst,src)
src:源对象
dst:被拓展的对象
用src拓展dst,返回拓展后的对象(后覆盖前)。

var src = {"username" : "angularjs"};
var dst = {"page" : "one"};
angular.extend(dst, src);

console.log("dst:", dst);

运行结果

dst: {"page" : "one", "username" : "angularjs"}
 类似资料:

相关阅读

相关文章

相关问答