2016年11月2日——jQuery源码学习笔记
1、jQuery()函数,即$()。有四种不同的调用方式。
(1)传递CSS选择器(字符串)给$()方法,返回当前文档中匹配该选择器的元素集。可选第二个参数,一个元素或jQuery对象,定义元素查询的起始点,称为上下文(context),这时返回的是该特定元素或元素集的子元素中匹配选择器的部分。
(2)传递一个Element、Document或Window对象给$()方法,$()将它们封装为jQuery对象并返回,这样就可以使用jQuery方法来操作这些元素而不用使用原生DOM方法
(3)传递HTML文本字符串给$()方法,这个字符串必须至少包含一个带有尖角括号的HTML标签,jQuery会根据传入的文本创建好HTML元素并封装为jQuery对象返回,然后用jQuery方法来将元素插入想要的地方。
$()接受可选的第二参数,可以传递Document对象来指定与所创建元素相关联的文档;也可以是object对象,这些属性将设置到所创建的对象上。
(4)传入一个函数给$()方法,当文档加载完毕且DOM可操作时,传入的函数将被调用。即onload()函数的jQuery版本,老式完整写法$(document).ready(f)
传给jQuery()的函数在被调用时,this指向document对象。可以释放全局的$(),在内部延续使用。
2、jQuery类库还使用jQuery()函数作为其命名空间,在下面定义了不少工具函数和属性。
jQuery.noConflict()函数还原$()为初始值。
3、jQuery.extend()
接受对象作为参数。将第二个及其以后参数对象的属性复制到第一个参数对象中,如果同名的属性在第一个参数对象中存在,则会覆盖它。该函数忽略任何值为undefined或null的属性。
4、jQuery.contains()
接受两个文档元素作为参数。如果第一个元素包含第二个元素,则返回true,否则返回false
5、jQuery.trim()
和ES5中给字符串添加的trim()方法类似。它接受字符串作为唯一参数,返回的字符串开头和结尾处的空白字符都已移除。