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