$.extend
Posted Sunnie_C
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$.extend相关的知识,希望对你有一定的参考价值。
通过源对象扩展目标对象的属性,源对象属性将覆盖目标对象属性。
默认情况下为,复制为浅复制。如果第一个参数为true表示深度复制
1 $.extend = function (target) { 2 var deep, args = slice.call(arguments, 1) 3 if (typeof target == ‘boolean‘) { 4 deep = target 5 target = args.shift() 6 } 7 args.forEach(function (arg) { 8 extend(target, arg, deep) 9 }) 10 return target 11 } 12 13 function extend(target, source, deep) { 14 for (key in source) 15 if (deep && (isPlainObject(source[key]) || isArray(source[key]))) { 16 if (isPlainObject(source[key]) && !isPlainObject(target[key])) 17 target[key] = {} 18 if (isArray(source[key]) && !isArray(target[key])) 19 target[key] = [] 20 extend(target[key], source[key], deep) 21 } 22 else if (source[key] !== undefined) target[key] = source[key] 23 }
以上是关于$.extend的主要内容,如果未能解决你的问题,请参考以下文章
Backbone.js 状态管理/基于 url 片段的视图初始化
typescript继承 __extends = (this && this.__extends) || (function () { 代码解读