jquery的 each, each的區別

2021-07-26 17:59:18 字數 1798 閱讀 7213

在jquery中,遍歷物件和陣列,經常會用到$().each和$.each(),兩個方法。兩個方法是有區別的,從而這兩個方法在針對不同的操作上,顯示了各自的特點。

$().each,對於這個方法,在dom處理上面用的較多。如果頁面有多個input標籤型別為checkbox,對於這時用$().each來處理多個checkbook,例如:

$(「input[name=』ch』]」).each(function(i),,function(i,n)

);引數i為遍歷索引值,n為當前的遍歷物件.

var arr1 = [ 「one」, 「two」, 「three」, 「four」, 「five」 ];

$.each(arr1, function());

輸出:one   two  three  four   five

var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

$.each(arr2, function(i, item));

輸出:1   4   7

var obj = ;

$.each(obj, function(key, val) );

輸出:1   2  3  4  5

在jquery裡有乙個each方法,用起來非常的爽,不用再像原來那樣寫for迴圈,jquery原始碼裡自己也有很多用到each方法。

其實jquery裡的each方法是通過js裡的call方法來實現的。

下面簡單介紹一下call方法。

call這個方法很奇妙,其實官方的說明是:「呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。」網上更多的解釋是變換上下文環境,也有說是改變上下文this指標。

call([thisobj[,arg1[, arg2[,   [,.argn]]]]])

引數thisobj

可選項。將被用作當前物件的物件。

arg1, arg2,  , argn

可選項。將被傳遞方法引數序列。

說明call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。

引用網上有乙個很經典的例子

js**

function add(a,b)

function sub(a,b)

add.call(sub,3,1);

用 add 來替換 sub,add.call(sub,3,1) == add(3,1) ,所以執行結果為:alert(4);

注意:js 中的函式其實是物件,函式名是對 function 物件的引用。

具體call更深入的就不在這裡提了。

下面提一下jquery的each方法的幾種常用的用法

js**

var arr = [ 「one」, 「two」, 「three」, 「four」];

$.each(arr, function());

//上面這個each輸出的結果分別為:one,two,three,four

var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]

$.each(arr1, function(i, item));

//其實arr1為乙個二維陣列,item相當於取每乙個一維陣列,

//item[0]相對於取每乙個一維陣列裡的第乙個值

//所以上面這個each輸出分別為:1   4   7

var obj = ;

$.each(obj, function(key, val) );

//這個each就有更厲害了,能迴圈每乙個屬性

//輸出結果為:1   2  3  4

jquery的 each, each的區別

在jquery中,遍歷物件和陣列,經常會用到 each和 each 兩個方法。兩個方法是有區別的,從而這兩個方法在針對不同的操作上,顯示了各自的特點。each,對於這個方法,在dom處理上面用的較多。如果頁面有多個input標籤型別為checkbox,對於這時用 each來處理多個checkbook...

jquery的 each, each的區別

在jquery中,遍歷物件和陣列,經常會用到 each和 each 兩個方法。兩個方法是有區別的,從而這兩個方法在針對不同的操作上,顯示了各自的特點。each,對於這個方法,在dom處理上面用的較多。如果頁面有多個input標籤型別為checkbox,對於這時用 each來處理多個checkbook...

jquery的 each, each的區別

在jquery中,遍歷物件和陣列,經常會用到 each和 each 兩個方法。兩個方法是有區別的,從而這兩個方法在針對不同的操作上,顯示了各自的特點。each,對於這個方法,在dom處理上面用的較多。如果頁面有多個input標籤型別為checkbox,對於這時用 each來處理多個checkbook...