Heim > Web-Frontend > js-Tutorial > Hauptteil

jquery each的几种常用的使用方法示例_jquery

WBOY
Freigeben: 2016-05-16 17:03:12
Original
1045 Leute haben es durchsucht

jQuery源码里自己也有很多用到each方法。其实jQuery里的each方法是通过js里的call方法来实现的。下面简单介绍一下call方法。

call这个方法很奇妙,其实官方的说明是:“调用一个对象的一个方法,以另一个对象替换当前对象。”网上更多的解释是变换上下文环境,也有说是改变上下文this指针。

复制代码 代码如下:

call([thisObj[,arg1[, arg2[,   [,.argN]]]]])


参数

thisObj  可选项。将被用作当前对象的对象。
arg1, arg2,  , argN  可选项。将被传递方法参数序列。

call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

例子

复制代码 代码如下:

function add(a,b)  
{  
    alert(a+b);  
}  
function sub(a,b)  
{  
    alert(a-b);  
}  
add.call(sub,3,1); 


用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4);
注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。
具体call更深入的就不在这里提了。

下面提一下jQuery的each方法的几种常用的用法

复制代码 代码如下:

 var arr = [ "one", "two", "three", "four"];    
 $.each(arr, function(){    
    alert(this);    
 }); 
 

上面这个each输出的结果分别为:one,two,three,four

复制代码 代码如下:

var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]    
$.each(arr1, function(i, item){    
   alert(item[0]);    
}); 

其实arr1为一个二维数组,item相当于取每一个一维数组,  
item[0]相对于取每一个一维数组里的第一个值  
所以上面这个each输出分别为:1   4   7    

复制代码 代码如下:

var obj = { one:1, two:2, three:3, four:4};    
$.each(obj, function(key, val) {    
    alert(obj[key]);          
});  

这个each就有更厉害了,能循环每一个属性    
输出结果为:1   2  3  4

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage