angular.copy()vs $ .extend(true,{},obj)

时间:2015-08-28 18:10:40

标签: javascript jquery angularjs

只是想知道angular.copy()$jquery.extend(true, {}, obj)之间是否存在差异?

根据docs.angularjs.org/api/ng/function/angular.copyapi.jquery.com/jquery.extend,两者似乎都在进行深度克隆,但jquery的方法似乎要快得多。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

jQuery的$.extend()允许您有条件地将键值对添加到扩展对象。

var sourceObj = { foo: 'bar' };
var destObj = $.extend(sourceObj, { added: 'addedProp'});

destObj等于:

{foo: "bar", added: "addedProp"}

我最近发现的另一个不同之处是,angular.copy会忽略一个名为$$hashKey的属性,Angular会在内部添加ng-repeat内的对象。