angular.extend(dst,src),在我實驗的1.2.16版本上是支持深拷貝的。可是最新的API顯示,這個方法是不支持深拷貝的。
另外,第二個參數src支持多個對象。javascript
var user3 = angular.extend(user1,user2);
會把user2的全部屬性都拷貝到user1上,而且把user1複製給user3html
var user3 = angular.extend({},user1,user2);
這種使用方式,會保留原始對象,把user1與user2進行整合,在複製給user3.java
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script> </head> <body ng-app="myApp"> <div ng-controller="myCtrl"> {{ user1 }} {{ user2 }} {{ user3 }} {{ user4 }} {{ user5 }} </div> <script type="text/javascript"> angular.module("myApp",[]) .controller("myCtrl",function($scope){ var user1 = {"name":"xingoo"}; var user2 = {"age":30}; var user3 = angular.extend(user1,user2); // var user3 = angular.extend({},user1,user2); $scope.user1 = user1; $scope.user2 = user2; $scope.user3 = user3; var user4 = new Object(); user4.name = "xingoo"; user4.age = 30; user4.mother = user1; var user5 = new Object(); angular.extend(user5,user4); $scope.user4 = user4; $scope.user5 = user5; }); </script> </body> </html>-