国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS extend用法詳解及實例代碼

2019-11-19 18:58:17
字體:
來源:轉載
供稿:網友

AngularJS extend用法

   angular.extend:依次將第二個參數及后續的參數的第一層屬性(不管是簡單屬性還是對象)拷貝賦給第一個參數的第一層屬性,即如果是對象,則是引用的是同一個對象,并返回第一個參數對象。

        實例一:var r = angular.extend(b, a);將對象a的第一層屬性(不管是簡單屬性還是對象)拷貝賦給對象b的第一層屬性,即如果是對象,則是引用的是同一個對象,并返回對象b

Js代碼 

var a = {   name : 'bijian',   address : 'shenzhen',   family : {     num : 6,     amount : '80W'   } }; var b = {}; var r = angular.extend(b, a); console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r));  b.address = 'hanzhou'; b.family.amount = '180W'; console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r)); 

運行結果:

Text代碼 

a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} r:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"180W"}} b:{"name":"bijian","address":"hanzhou","family":{"num":6,"amount":"180W"}} r:{"name":"bijian","address":"hanzhou","family":{"num":6,"amount":"180W"}} 

         實例二:var r = angular.extend(b, a, z);相繼將對象a、z的第一層屬性(不管是簡單屬性還是對象)拷貝賦給對象b的第一層屬性,即如果是對象,則是引用的是同一個對象,并返回對象b

Js代碼 

var a = {   name : 'bijian',   address : 'shenzhen',   family : {     num : 6,     amount : '80W'   } }; var z = {   family : {     amount : '150W',     mainSource : '經營公司'   } }; var b = {}; var r = angular.extend(b, a, z); console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r));  b.address = 'hanzhou'; b.family.amount = '180W'; console.log('a:' + JSON.stringify(a)); console.log('b:' + JSON.stringify(b)); console.log('r:' + JSON.stringify(r)); 

運行結果:

Text代碼 

a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"shenzhen","family":{"amount":"150W","mainSource":"經營公司"}} r:{"name":"bijian","address":"shenzhen","family":{"amount":"150W","mainSource":"經營公司"}} a:{"name":"bijian","address":"shenzhen","family":{"num":6,"amount":"80W"}} b:{"name":"bijian","address":"hanzhou","family":{"amount":"180W","mainSource":"經營公司"}} r:{"name":"bijian","address":"hanzhou","family":{"amount":"180W","mainSource":"經營公司"}}  

        再多的實例也不如源代碼來的簡單、直接和準確,angular.extend源碼如下:

Js代碼 

/**  * @ngdoc function  * @name angular.extend  * @function  *  * @description  * Extends the destination object `dst` by copying all of the properties from the `src` object(s)  * to `dst`. You can specify multiple `src` objects.  *  * @param {Object} dst Destination object.  * @param {...Object} src Source object(s).  * @returns {Object} Reference to `dst`.  */ function extend(dst) {  var h = dst.$$hashKey;  forEach(arguments, function(obj){   if (obj !== dst) {    forEach(obj, function(value, key){     dst[key] = value;    });   }  });   setHashKey(dst,h);  return dst; } 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林西县| 正安县| 舒兰市| 武威市| 宿松县| 镇宁| 凉山| 涪陵区| 和龙市| 茶陵县| 溧阳市| 潜江市| 鲁甸县| 鸡东县| 花莲县| 朝阳区| 同心县| 宁都县| 恭城| 梓潼县| 西乌珠穆沁旗| 福清市| 紫云| 富蕴县| 平度市| 乌苏市| 蛟河市| 淮阳县| 望江县| 康平县| 山阴县| 调兵山市| 遂宁市| 宝丰县| 阳高县| 平昌县| 永昌县| 承德县| 中牟县| 中宁县| 堆龙德庆县|