jQuery靜態方法
1、靜態方法和實例方法
1.1、定義一個類:function ClassName() {} 1.2、直接給這個類添加一個方法,這種直接添加給類的方法就是靜態方法 ClassName.staticMethod = function () {} 靜態方法通過類名調用:ClassName.staticMethod(); 1.3、通過prototype給這個類添加的方法是實例方法 ClassName.prototype.instanceMethod = function () {} 實例方法通過類的實例調用:var a = new ClassName(); a.instanceMethod();
2、$.each方法
類似原生jsArray對象的forEach()方法,兩者用法對比如下:
2.1、調用者:forEach方法通過數組實例調用,each方法通過jQuery類名調用
2.2、參數:arr.forEach(function(val,index){}); $.each(arr/obj,function(index,val){}); 故forEach方法只能遍歷數組,不能遍歷偽數組,如對象,each()方法兩者都可遍歷
2.3、返回值:forEach方法返回undefined,each()方法返回each方法的第一個參數 $.each()靜態方法不支持在回調函數中對遍歷的數組進行處理,回調函數不支持返回值。
2.4、示例程序:
1 var arr=[1,2,3]; 2 var obj={name:"chz",age:20}; 3 var a; 4 a=arr.forEach(function(val,index){ 5 console.log(index,val); 6 }); 7 console.log(a); //undefined 8 /*obj.forEach(function(val,index){ 9 console.log(val,index); 10 });報錯*/ 11 a=$.each(arr,function(index,val){ 12 console.log(index,val); 13 }); 14 console.log(a); //(3) [1, 2, 3] 15 a=$.each(obj,function(index,val){ 16 console.log(index,val); 17 }); 18 console.log(a); //{name: "chz", age: 20}
3、$.map()方法
類似原生jsArray對象的map()方法,兩者用法對比如下:
3.1、調用者:原生map()方法通過數組實例調用,jQuery map()方法通過jQuery類名調用
3.2、參數: 原生map()方法:arr.map(function(val,index,array){});function中的3個參數 第一個參數: 當前遍歷到的元素 第二個參數: 當前遍歷到的索引 第三個參數: 當前被遍歷的數組 jQuery map()方法:$.map(arr/obj,function(val,index){}); 第一個參數: 要遍歷的數組或對象 第二個參數: 每遍歷一個元素之后執行的回調函數 回調函數的參數: 第一個參數: 遍歷到的元素 第二個參數: 遍歷到的索引 原生map()方法只能遍歷真數組,$.map()方法兩者能遍歷真數組和偽數組
3.3、返回值: 兩種map()方法都支持在回調函數中對遍歷的數據進行處理,回調函數支持返回值。回調函數沒有返回值時,原生map()方法默認返回一個長度和調用者一致的數組,數組中的元素全為undefined。$.map()方法會返回一個空數組。 回調函數有返回值時,兩者都返回回調函數的每一個返回值組成的數組,切不會改變原有的數組或對象。
3.4、示例程序:
1 var arr=[1,2,3]; 2 var obj={name:"chz",age:20}; 3 var a; 4 5 a=arr.map(function(val,index,array){ 6 console.log(val,index,array); 7 }); 8 console.log(a); //(3) [undefined, undefined, undefined] 9 a=arr.map(function(val,index,array){ 10 return val*=2; 11 }); 12 console.log(a,arr); //(3) [2, 4, 6] ,(3) [1, 2, 3] 13 /*obj.forEach(function(val,index){ 14 console.log(val,index); 15 });報錯*/ 16 a=$.map(arr,function(val,index){ 17 console.log(val,index); 18 }); 19 console.log(a); //[] 20 a=$.map(arr,function(val,index){ 21 return val*=2; 22 }); 23 console.log(a,arr); //(3) [2, 4, 6] ,(3) [1, 2, 3] 24 a=$.map(obj,function(val,index){ 25 console.log(val,index); 26 }); 27 console.log(a); //[] 28 a=$.map(obj,function(val,index){ 29 return val+="good"; 30 }); 31 console.log(a,obj); //(2) ["chzgood", "20good"] ,{name: "chz", age: 20}
4、$.trim()方法
用於去除字符串兩端的空格,傳入一個需要去除空格的字符串,返回去除空格之后的字符串,不影響原字符串。
5、jQuery判斷類型靜態方法
$.isWindow()、$.isArray()、$.isFunction() 判斷傳入的對象是否是window對象/真數組/函數,返回true/false。
6、$.holdReady()方法
接收true/false參數,參數為true時,暫停ready入口函數執行