jQuery高级编程(3)jQuery核心技术

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之前

你可能感兴趣的:(jQuery)