JQuery.extend()()(),jquery.fn.extendjQuery学习笔记分析

JQuery.extend()()(),jquery.fn.extendjQuery学习笔记分析
深度是一个布尔值,表示是否合并深度,默认为false,深度合并不执行
这样,新的属性方法可以被添加到jQuery或jquery.fn,大多数jQuery的其他模块的实现。

在向jQuery添加扩展时使用扩展()
如:jquery.extend({添加功能(A,B){ return a + b } })

用途:美元。添加(1,3)===== > 4;

使用$()。fn.extend的jQuery实例对象添加扩展时;

美元。fn.extend({ GYS:函数(){ $(this)。Css(颜色

电话:$(div.guo )Gys();
由于参数的数目不确定,不能接受特定参数。
选项:指向源对象。
名称:源对象的某些属性名称。
目标对象的属性的原始值。
复制:源对象属性之一的值。
CopyIsArray:指示复制数组
复制时原始值的修订值:深度复制。
目标对象。
i源对象的起始下标。
长度的数量:用于修改可变目标的参数。
是否深:执行深层复制。
333~338:如果第一个参数是一个布尔值,目标被分配到深,目标是重新获得值和分配第二个参数到目标。
此时,i值从前1更改为2。表示源对象最初从第二个元素开始,现在成为第三个元素。
327行代码知道为什么有if语句。最初的函数扩展首先分配给目标和i,而不管参数的情况如何。
然后把它固定在后面。

341~343:如果目标对象不是一个对象,而不是一个函数,那么目标为{ };

当346 ~ 349:长和我都是平等的,这意味着参数如objcet1,…等等都没有通过。
此时,当前对象(jQuery或jQuery)是目标对象,而i被减少,因此传入的对象被视为源对象。
351行开始循环,我表示启动源对象的下标是一个非常聪明的用法。
353行也很好,它将源对象和源对象判断放在语句中,只有源对象在执行时不为空。
354~362行,变量SRC为原值,变量拷贝为拷贝值。如果目标和副本引用相同,则循环对遍历性是无效的,
所以它不包括目标对象的同名属性。如果注释了360行,下面的代码将有一个异常。
var obj = { };
N1 = obj对象;
美元。扩展(真,obj,{ N2:obj });
在不同的浏览器中会出现不同的错误,但是现在已经没有网卡屏幕了。

365~372行,如果是深度合并,复制的副本是普通的Javascript对象或数组,则它是递归合并的。
378~380行,如果不是深度合并,而复制不是未定义的,则直接覆盖目标对象的同名属性。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部