AngularJS学习之angular.extend用法实例

前端之家收集整理的这篇文章主要介绍了AngularJS学习之angular.extend用法实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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);相继将对象az的第一层属性(不管是简单属性还是对象)拷贝赋给对象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; 
}
原文链接:https://www.f2er.com/angularjs/149096.html

猜你在找的Angularjs相关文章