AngularJS学习之angular.extend用法实例
发布时间:2020-12-17 10:02:02 所属栏目:安全 来源:网络整理
导读:angular . extend : 依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝赋给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象。 实例一: var r = extend (b , a) ; 将对象 a 的第一层属性(不管
angular.extend:依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝赋给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象。 实例一:var r = extend(b,a);将对象a的第一层属性(不管是简单属性还是对象)拷贝赋给对象b的第一层属性,即如果是对象,则是引用的是同一个对象,并返回对象b var a = { name : 'bijian' address : 'shenzhen'family : { num : 6 amount : '80W' } }; var b = {} ; console.log('a:' + JSON.stringify(a))'b:' + stringify(b))'r:' + stringify(r)) b.address = 'hanzhou'; b.family.amount = '180W' 运行结果: a:{"name":"bijian""address":"shenzhen""family":{"num":"amount":"80W"}} b:{"80W"}} r:{"80W"}} a:{"180W"}} b:{"hanzhou""180W"}} r:{"180W"}} 实例二:z);相继将对象a、z的第一层属性(不管是简单属性还是对象)拷贝赋给对象b的第一层属性,即如果是对象,则是引用的是同一个对象,并返回对象b var a = { var z = { '150W'mainSource : '经营公司' ; 运行结果: a:{"150W""mainSource":""}} r:{"}} a:{"80W"}} b:{"180W""}} r:{"}} 再多的实例也不如源代码来的简单、直接和准确,angular.extend源码如下: ? /** * @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. {...Object} src Source object(s). @returns {Object} Reference to `dst`. */ function extend(dst) { var h = dst.$$hashKey; forEach(argumentsfunction(obj){ if (obj !== dst) { forEach(objfunction(value; }) } }) setHashKey(dst return dst; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |