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