js操作有时候我们需要给一个对象赋值给另一个对象并新增属性,可是中间会有些问题出现,看代码

var a = {
	"name":"abc"
};
var b = a;
b.age = 2;
console.log(a);
console.log(b);

image.png

此时,a和b是一样的了。

那么要如何在不影响a的情况下得到一个b,b包含a的全部属性并可以再定义b的新属性呢,还是看代码,借助jquery实现

var a = {
	"name":"abc"
};
var b = $.extend({},a);
b.age = 2;
console.log(a);
console.log(b);

结果

image.png

这才是我们想要的结果,

jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。

上面的写法是将a合并到{}中,自然此时b的属性就和a一样了。