只是想知道angular.copy()
與$jquery.extend(true, {}, obj)
之間是否有區別?
根據docs.angularjs.org/api/ng/function/angular.copy和api.jquery.com/jquery.extend,這兩個似乎都在做一個深層克隆,但jquery的方法似乎要快得多。
有什麼建議嗎?
只是想知道angular.copy()
與$jquery.extend(true, {}, obj)
之間是否有區別?
根據docs.angularjs.org/api/ng/function/angular.copy和api.jquery.com/jquery.extend,這兩個似乎都在做一個深層克隆,但jquery的方法似乎要快得多。
有什麼建議嗎?
jQuery的$.extend()
允許您有條件地向擴展對象添加鍵值對。
var sourceObj = { foo: 'bar' };
var destObj = $.extend(sourceObj, { added: 'addedProp'});
destObj等於:
{foo: "bar", added: "addedProp"}
另一個區別最近我發現,是angular.copy
會忽略一個名爲$$hashKey
財產角內部增加了內ng-repeat
對象。
我做了一個快速性能測試,Jquery的$ .extend似乎比angular.copy快得多,這使我理想地認爲我們應該總是使用$ .extend。爲什麼會有人使用angular.copy? –
如果你已經在使用jQuery,並且你不是因爲'$ .extend'更快而添加了jQuery,那麼我就不明白爲什麼不選擇'angular.copy'上的$ .extend'。 – yvesmancera
我最近遇到了這個問題,並且看到angular.copy會凍結整個應用程序(Windows Phone),如果對象很大(例如7.5 MB),$ .extend在這種情況下就像魅力一樣工作。 – graphefruit
你讀過的代碼? –
https://docs.angularjs.org/api/ng/function/angular.copy和https://api.jquery.com/jquery.extend/似乎指出,兩者都在做一個深層複製 –
丹尼爾你可以更具體一點? –