1)jQuery.extend(object) 为扩大 jQuery 类本身,为类添加新的静态办法;
2)jQuery.fn.extend(object) 给 jQuery 对象添加实例办法,也就是经由过程这个 extend 添加的新办法,实例化的 jQuery 对象都能应用,因为它是挂载在 jQuery.fn 上的办法(上文有提到,jQuery.fn = jQuery.prototype )。
1)jQuery.extend(): 把两个或者更多的对象归并到第一个傍边,
2)jQuery.fn.extend():把对象挂载到 jQuery 的 prototype 属性,来扩崭荷琐新的 jQuery 实例办法。
也就是说,应用 jQuery.extend() 拓展的静态办法,我们可以直接应用 $.xxx 进行调用(xxx是拓展的办法名),
而应用 jQuery.fn.extend() 拓展的实例办法,须要应用 $().xxx 调用。
- // 扩大归并函数
- // 归并两个或更多对象的属性到第一个对象中,jQuery 后续的大年夜部分功能都经由过程该函数扩大
- // 固然实现方法一样,然则要留意区分用法的不一样,那么为什么两个办法指向同一个函数实现,然则却实现不合的功能呢,
- // 浏览源码就能发明这归功于 this 的强大年夜力量
- // 如不雅传入两个或多个对象,所有对象的属性会被添加到第一个对象 target
- // 如不雅只传入一个对象,则将对象的属性添加到 jQuery 对象中,也就是添加静态办法
- // 用这种方法,我们可认为 jQuery 定名空间增长新的办法,可以用于编写 jQuery 插件
- // 如不雅不想改变传入的对象,可以传入一个空对象:$.extend({}, object1, object2);
- // 默认归并操作是不迭代的,即便 target 的某个属性是对象或属性,也会被完全覆盖而不是归并
- // 如不雅第一个参数是 true,则是深拷贝
- // 大年夜 object 原型持续的属性会被拷贝,值为 undefined 的属性不会被拷贝
- // 因为机能原因,JavaScript 自带类型的属性不会归并
- jQuery.extend = jQuery.fn.extend = function() {
- var src, copyIsArray, copy, name, options, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
- // Handle a deep copy situation
- // target 是传入的第一个参数
- // 如不雅第一个参数是布尔类型,则表示是否要深递归,
- if (typeof target === "boolean") {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- // 如不雅传潦攀类型为 boolean 的第一个参数,i 则大年夜 2 开端
- i = 2;
- }
推荐阅读
深度学习训练时 GPU 温度过高?输入这几行命令就能迅速降温
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 新买回来的不带水冷公版GPU,在满负载运行的时刻,温度大年夜室温立时飙升到85度,并且模型练习不是几分钟>>>详细阅读
地址:http://www.17bianji.com/lsqh/36245.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示