extend()
jQuery.extend([deep], target, object1, [objectN])
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
如果不指定target,则给jQuery命名空间本身进行扩展。这有助于插件作者为jQuery增加新方法。 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。否则的话,副本会与原对象共享结构。 未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。
target,[object1],[objectN]
target:一个对象,如果附加的对象被传递给这个方法将那么它将接收新的属性,如果它是唯一的参数将扩展jQuery的命名空间。
object1:待合并到第一个对象的对象。
objectN:待合并到第一个对象的对象。
[deep],target,object1,[objectN]
deep:如果设为true,则递归合并。
target:待修改对象。
object1:待合并到第一个对象的对象。
objectN:待合并到第一个对象的对象。
//对象合并
var a={
a:1,
b:2
};
var b={
b:3,
c:4
}
var c={};
console.log($.extend(c, a, b));//{a: 1, b: 3, c: 4}
console.log(c);//{a: 1, b: 3, c: 4}
//原生js里面的对象合并
console.log(Object.assign({}, a, b));//{a: 1, b: 3, c: 4}
//$.fn.extend
console.log($.fn.jquery);//1.9.1
//给整个jquery对象上合并属性和方法
console.log($.fn);//Object [jquery:"1.9.1",constructor: ƒ, init: ƒ, selector: "", size: ƒ, …]
$.fn.extend({
sleep:function(){
console.log("111");//111
}
});
$("#map").sleep();
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。