1、通过插件系统可以拓展jQuery
2、jQuery核心函数通常指一个工厂对象,即jQuery()函数,或者更为常用的别名$()函数
3、工具函数
(1)对象
要检查对象类型如果用js的typeof会出乎意料有时候typeof(null)是object而不是null
而jQuery中有
$.type(null);//返回null
$.type([]);//返回数组
isEmptyObject()用于检查一个对象是否包含任何属性,包括继承的属性,与对象类型无关
$.isEmptyObject("");//返回true
$.isEmptyObject({});//返回true
$,isPlainObject();用于检查一个对象是否包含任何属性,但他必须是一个Object的实例
$,isPlainObject(“”);//false
$,isPlainObject({});//true
$,isPlainObject(new Object);//true
$.extend()用来合并对象
var obj1={"1":"property 1"};
var obj2={"2","property 2"};
$.extend(obj1,obj2);
也可以用它来克隆对象
var clonedObject=$.extend({},anObject);
还可以接受一个布尔值作为第一个参数,用于执行对象的深度合并,也就是递归复制
var clonedObject=$.extend(true,{},anObject);
(2)函数
$.isFunction(函数);//注意不是函数()
noop()是存根函数?
(3)数组操作
和isObject()和isFunction()类似,有isArray(),检查一个对象是否是数组
makeArray()将一个类似于数组的对象转换为一个真正的数组。将类似于数组的对象转换为数组,将丢失该对象的所有方法和属性。
合并数组
$.merge(数组名1,数组名2);
$.inArray()用于检查数组中是否存在某个指定的值,如果找到该值则返回他在数组中的索引,如果找不到返回-1
$.unique()方法的功能是从DOM元素的数组中移除重复的元素
$.each()遍历
$.map()接受两个参数:第一个参数是一个数组对象或者类似于数组对象,第二个参数是一个回调函数
(4)数据结构
队列:先进先出。
$.queue()来维护一个函数的列表,支持push和pop操作,如果要从队列中移除所有函数,那么可以使用.clearQueue()方法,.dequeue()则可以从队列中移除一个函数并且执行它
(5)字符串
$.trim()用于移除首位空格
(6)数据
ajax最主要的数据交换格式:xml和json,可以使用.parseXML()和.parseJSON()方法来解析这两种格式的数据,它可以解析本地数据,也可以解析URL指定的数据。
可以啊任意数据附加到HTML元素,可以存储或者取回数据。这正是方法.data()的功能
(7)其他
.contains(容器节点,要检查的目标节点),检查一个DOM子节点是否是另一个节点的子节点
$.contains($("head")[0],$("title")[0]);//返回true
.isWindow(),在某个操作中可能要区分iframe和浏览器窗口,用这个方法
.isXMLDoc(),
.now(),获取当前时间
.support()检查浏览器特性
$.support.ajax
和globalEval()在全局上下文求值
$(function(){
$.globalEval("var x=0;");
})
4、非侵扰式JS
将行为和内容分离,这种方式称为非侵扰式javascript
5、链式操作
6、为了避免jQuery与其他js库冲突,只需要使用$.noConflict();方法。将$恢复为加载jQuery之前