美文网首页
JQ中extend

JQ中extend

作者: 种谔 | 来源:发表于2016-05-18 12:15 被阅读0次

$.extend用法

  • extend的作用
    将两个或更多对象的内容合并到第一个对象。
  • 函数原型
jQuery.extend( [deep ], target, object1 [, objectN ] )

其中的deep是一个boolean值,true表示深拷贝,target表示的是会合并到哪个对象,后面的object表示的被合并的对象,extend的结果会返回一个合并了所有属性的对象给你,如果存在同属性名,后合并的对象的属性值会取代前面已经合并好的属性值。

例子

  • 例一(原有对象合并)
obj1={
  name:"kevin",
  age:"185",
  arr:[1,2,3]
};

obj2={
  name:"adam",
  address:"拉布拉多"
};

var obj3=$.extend(obj1,obj2);
console.log(obj3);
//结果:
//[object Object] {  address: "拉布拉多",  age: "185",  arr: [1, 2, 3],  name: "adam"}
//obj3==obj1//true
//obj1//[object Object] {  address: "拉布拉多",  age: "185",  arr: [1, 2, 3],  name: "adam"}
  • 例二(新对象,浅拷贝)
obj1={
  name:"kevin",
  age:"185",
  arr:[1,2,3]
};

obj2={
  name:"adam",
  address:"拉布拉多"
};

var obj3=$.extend({},obj1,obj2);
console.log(obj3===obj1);//false
console.log(obj3.arr===obj1.arr)//true
  • 例三(新对象,深拷贝)
obj1={
  name:"kevin",
  age:"185",
  arr:[1,2,3]
};

obj2={
  name:"adam",
  address:"拉布拉多"
};

var obj3=$.extend(true,{},obj1,obj2);
console.log(obj3===obj1);//false
console.log(obj3.arr===obj1.arr);//false

相关文章

网友评论

      本文标题:JQ中extend

      本文链接:https://www.haomeiwen.com/subject/ughwrttx.html