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入口函数执行