jQuery 拷贝对象

如果想要把某个对象拷贝(合并) 给另外一个对象使用,此时可以使用 $.extend() 方法

语法:

$.extend([deep], target, object1, [objectN])

参数说明

  1. deep: 如果设为true为深拷贝,默认为false浅拷贝。
  2. target:要拷贝的目标对象
  3. object1:待拷贝到第一个对象的对象。
  4. objectN:待拷贝到第N个对象的对象。

  • 浅拷贝目标对象引用的被拷贝的对象地址,修改目标对象会影响被拷贝对象。
  • 深拷贝,前面加true, 完全克隆,修改目标对象不会影响被拷贝对象。

案例代码:

var targetObject = {
    
    
    id: 0,
    msg: {
    
    
        age: 20
    }
};
var Object1 = {
    
    
	id: 1,
    name: "andy",
    msg: {
    
    
        age: 18
    }
}    
//浅拷贝
$.extend(targetObject, Object1);
console.log(targetObject)
console.log(Object1)
/*
	//控制台输出
	targetObject {
		id: 1,
		name: "andy",
		msg: 地址值1
	}
	Object1 {
		id: 1,
    	name: "andy",
    	msg: 地址值1
	}
*/
//深拷贝
$.extend(true,targetObject, Object1);
console.log(targetObject)
console.log(Object1)
/*
	//控制台输出
	targetObject {
		id: 1,
		name: "andy",
		msg: 地址值2
	}
	Object1 {
		id: 1,
    	name: "andy",
    	msg: 地址值1
	}
*/



猜你喜欢

转载自blog.csdn.net/weixin_45941499/article/details/120515231
今日推荐