1 | // Recurse if we're merging plain objects or arrays |
重点代码1
clone = src && jQuery.isPlainObject( src ) ? src : {};
src为原有的目标下参数,有的话判断是不是对象,两个条件都满足时传目标自带的参数而不需重新创建对象
eg.1
2
3
4
5
6var a = {name:{job:'it'}}
var b = {name:{age:30}}
$.extend(true,a,b) //a继承b
console.log(a) //{name:{job:'it',age:30}}
继承但不影响之前元素
如果去掉src&&jQuery.isPlainObject(src)?src:,同名时会直接覆盖。
这叫拷贝继承,继承还有类式继承、原型继承等。