1、在$.each(array, callback)方法中,參數爲function(){},一個回調方法,有3種參數形式:
function () { ... }
function(index) { ... }
function (index, item) { ... }
index是指array中每一項的順序索引,從0開始計數。
item是array中的每一項。
若是未指定item,也是可使用項的,在callback內部使用this能夠獲取到item。這是和js的特性有關的,這裏的this實際上是相關的上下文,只是被設置成了item而已。關於此特性請查看其餘相關文章。
因爲js的function是不存在重載的,因此實際上根據傳入的arguments來判斷也是能夠的。如下是jQuery 1.4.2文檔中提供的例子:
this
$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});
i即index,n即item。
假設說你使用了無參的callback。也是可使用arguments[0]來代替i,用arguments[1]來代替n。在一般狀況下,若是不須要對參數是否有傳入而作判斷則天然沒必要要使用arguments。
2、$("...").each(callback)方法:
事實上,該方法能夠當作一個特殊狀況的$.each(array, callback)的快捷方法
這裏的array被替換做了$("..."),一組jQuery集合。可是要注意的地方是在callback方法內部,傳入的item,即this參數,卻不是一個jQuery對象,而是一個HtmlDom對象。因此若是要對這裏的元素進行操做,好比使用$(this)。e.g.
$("table").each(function(){
alert(this); //[Object HTMLTableElement]
alert($(this)); //[Object Object]
});
3、跳出:
在callback中return false 將中止循環 (break)。
在callback中return true 跳至下一個循環(continue)。spa