jQuery常用静态方法

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

原文地址:https://www.cnblogs.com/chuanzi/p/9453353.html