原文:http://www.cnblogs.com/hyl8218/archive/2010/01/22/1653485.html
JQuery提供了很多實用的工具函數。這些函數主要分為兩類,操作集合數組的函數和非集合數組函數。
JQuery操作非集合數組函數
$.trim(value)
這個函數很簡單,從value中刪除任何前置或尾隨的空白字元。空白字元為任何匹配JavascriptRegex\s的任何字元。包括空格、換頁、換行、斷行符號、tab、垂直指標符等。
$.each(container, callback)
對container的每一項進行迭代,為每一項調用回呼函數callback。
container 可以是對象或數組。如果是js對象,則迭代其每個屬性;如果是數組,則迭代其每個元素。
callback 回呼函數。為每個迭代的調用一次。第一個參數數組元素的下標或對象屬性的名稱,第二個參數是對應數組元素或對象屬性的值。調用的函數上下文(this)和第二個函數相同。
var obj = {a:1, b:2, c:3};
$.each(obj, function(name, value){
alert(name + ':' + value);
});
$.extend(target, source1, source2, ..., sourcen)
用source1...n 對象的屬性來擴充target對象。傳回值為擴充後的對象。
1 var target = { a:1, b:2, c:3 };
2 var source1 = { c:4, d:5, e:6 };
3 var source2 = { e:7, f:8, g:9 };
4 $.extend(target, source1, source2);
5 $.each(target, function(name, value){
6 alert(name + ':' + value);
7 });
返回的值為{a:1, b:2, c:4, d:5, e:7, f:8, g:9}
$.getScript(url, callback)
動態載入js指令碼。並在成功擷取指令碼時調用回呼函數。
$.noConflict
避免$別名衝突。一旦執行$.noConflict函數,就必須使用jQuery名稱調用。
JQuery處理數組函數
$.each(container, callback)
這個函數也可以迭代數組。具體說明上面有。
$.grep(array, callback, invert)
遍曆已傳入的數組,為各元素調用對調函數。回呼函數的傳回值決定是否把當前元素收集到新數組,新數組作為$.grep的傳回值。callback回呼函數需要返回一個bool類型的值。如果invert省略或為false,則回呼函數返回TRUE的元素被收集到返回結果中。invert為true,則回呼函數返回false的元素被收集到返回結果中。
$.map(array, callback)
遍曆數組,為各元素調用callback函數,並把callback函數傳回值收集到新數組中返回。
$.inArray(value,array)
返回已傳入的值在數組中第一次出現的下標。如果該值在數組中不存在,返回-1。