回覆列表
  • 1 # 使用者834195712159

    jQuery中的$.each()函式比forEach更加強大,可以用來遍歷JavaScript中的任意集合,借來下來我們會舉幾個jQuery中$.each()函式的用法引申例項,首先先來回顧一下遍歷用法的基礎:

    $.each( collection, callback(indexInArray, valueOfElement) )

    值得一提的是,forEach 可以很方便的遍歷陣列和 NodeList ,jQuery 中的 jQuery 物件本身已經部署了這類遍歷方法,而在原生 JavaScript 中則可以使用 forEach 方法,但是 IE 並不支援,因此我們可以手動把 forEach 方法部署到陣列和 NodeList 中:

    if ( !Array.prototype.forEach ){

    Array.prototype.forEach = function(fn, scope) {

    for( var i = 0, len = this.length; i < len; ++i) {

    fn.call(scope, this[i], i, this);

    }

    }

    }

    // 部署完畢後 IE 也可以使用 forEach 了

    document.getElementsByTagName("p").forEach(function(e){

    e.className = "inner";

    });

    而jQuery中的$.each()函式則更加強大。$.each()函式和$(selector).each()不一樣。$.each()函式可以用來遍歷任何一個集合,不管是一個JavaScript物件或者是一個數組,如果是一個數組的話,回撥函式每次傳遞一個數組的下標和這個下標所對應的陣列的值(這個值也可以在函式體中透過this關鍵字獲取,但是JavaScript通常會把this這個值當作一個物件即使他只是一個簡單的字串或者是一個數字),這個函式返回所遍歷的物件,也就是這個函式的第一個引數,注意這裡還是原來的那個陣列,這是和map的區別。

    其中collection代表目標陣列,callback代表回撥函式(自己定義),回撥函式的引數第一個是陣列的下標,第二個是陣列的元素。當然我們也可以給回撥函式只設定一個引數,這個引數一定是下標,而沒有引數也是可以的。

  • 中秋節和大豐收的關聯?
  • 哪個銀行的借記卡好?