语法
deep: 如果为true为深拷贝,默认fasle浅拷贝
target:要拷贝的对象
objectt1:待拷贝到第一个对象的对象
$.extend([deep],target,objectt1,[objectN])
使用
浅拷贝
var targetObj = {}
var obj = {
id:0,
name:"andy"
}
$.extend(targetObj ,obj ) //把obj的属性拷贝到targetObj
//targetObj {id:0,name:"andy"}
有相同属性 会覆盖
var targetObj = {
id:0
}
var obj = {
id:1,
name:"andy"
}
$.extend(targetObj,obj )
//targetObj {id:1,name:"andy"}
复杂数据类型
var targetObj = {
id:0
}
var obj = {
id:1,
name:"andy",
msg:{
age:18
}
}
$.extend(targetObj,obj )
//targetObj {id:1,name:"andy",msg:{age:18}}
此时修改targetObj的msg obj的msg也会改变 为了解决这个问题使用深拷贝
深拷贝
var targetObj = {
id:0
}
var obj = {
id:1,
name:"andy",
msg:{
age:18
}
}
$.extend(true,targetObj,obj )
//targetObj {id:1,name:"andy",msg:{age:18}}
此时修改targetObj的msg obj的msg不会改变