JQ中extend

$.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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【jQuery中extend用法】 extend是延伸的意思,平时我们写项目经常会遇到一个方法重用的时候,但是呢,...
    虚幻的锈色阅读 3,189评论 0 2
  • 最近的学习中,仔细研究了下深拷贝和浅拷贝,下面就来简单的总结下。 数据类型 首先我们了解下两种数据类型:1、基本类...
    iyimao阅读 760评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,217评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 窗外 雨声簌簌 诉说着一个缠绵悱恻的故事 那一年的那一天 与你相遇在那片紫色的庄园 薰衣草的芬芳弥漫了整个夏天 周...
    海阔天空_02d7阅读 409评论 4 7