标签:
1、angular.copy
angular.copy(source, [destination]); // source: copy的对象. 可以使任意类型, 包括null和undefined. destination:接收的对象 返回复制或更新后的对象
var source=[1,‘source‘,{id:1,source:‘hello‘}]; var des=angular.copy(source); source[0]=9; source[2].source=‘change‘; console.log(des); //输出des不会变化
var source=[1,‘source‘,{id:1,source:‘hello‘}]; var des=angular.copy(source); des[0]=9; des[2].source="change"; console.log(source); //输出source不变
2、angular.extend
angular.extend(destination, source);
复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制.
如果复制的是个基本数值,则改变source不会影响des,改变des不会影响source
var source=[1,‘source‘,{id:1,source:‘hellow‘}]; var des=angular.extend(source); source[0]=9; source[2].source=‘change‘; console.log(des);//des改变为和source一致
var source=[1,‘source‘,{id:1,source:‘hello‘}]; var des=angular.extend(source); des[0]=9; des[2].source="change"; console.log(source); // source改变
angular.extend vs angular.copy
标签:
原文地址:http://www.cnblogs.com/YangqinCao/p/5788572.html