jq的extend方法

定义和用法:

用于将一个或多个对象的内容合并到目标对象。

注意:

1.如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
2.如果多个对象具有相同的属性,则后者会覆盖前者的属性值。

$.extend(target ,object1,objectN)

是否深度合并

$.extend.([deep],target,object1,objectN)
  • target:Object类型 目标对象,其他对象的成员属性将被附加到该对象上
  • deep:可选 默认false。true的时候,且多个对象的某个同名属性也都是对象,则该“属性对象”的属性也将进行合并。
  • object1:可选。Object类型 第一个被合并的对象
  • objectN:可选。 Object类型 第N个被合并
var obj1 = {name:'nana',likes:{fruilt:'banana',num:7},age:10}
var obj2 = {likes:{fruilt:'apple'},age:17,text:8}
var obj3 = {likes:{fruilt:'purple',color:'white'},from:'china'}
合并两个对象,修改第一个
$.extend(obj1,obj2)
// {name: "nana", likes: {fruilt: "apple"}, age: 17, text: 8}
//obj1 =>  {name: "nana", likes: {fruilt: "apple"}, age: 17, text: 8}
//obj2 => {likes:{fruilt:'apple'},age:17,text:8}
$.extend(obj1,obj2,obj3)
// {name: "nana", likes:{fruilt: "purple", color: "white"}, age: 17, text: 8, from: "china"}
// obj1  {name:"nana",like{fruilt:"purple",color:"white"},age:17,text:8,from:"china"}
// obj2 => {like:{fruilt:"apple"},age:17,text:8}
// obj3 => {like:{fruilt:"purple",color:"white"},from:"china"}
递归合并两个对象,修改第一个
$.extend(true,obj1,obj2)
// {name: "nana", likes: {fruilt: "apple", num: 7}, age: 17, text: 8}
$.extend(true,obj1,obj2,obj3)
// {name: "nana", likes: {fruilt: "purple", num: 7, color: "white"}, age: 17, text: 8, from: "china"}
合并不修改原始值
$.extend({},obj1,obj2)
// {name: "nana", likes: {fruilt: "apple"}, age: 17, text: 8}
$.extend({},obj1,obj2,obj3)
// {name: "nana", likes: {fruilt: "purple", color: "white"} age: 17, text: 8, from: "china"}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值