JavaScript、jQuery的遍歷方法(each、forEach)總結


起因

在工作中,需要在遍歷的dom中找到第一個並做下操作然后退出遍歷,我首先想到了用each方法,但由於無論是公用的jQuery組件還是公司的fish組件。我都忘記了怎么去退出遍歷,所以就有了這篇帖子。

目的

本文的目的是總結一下無論是數組還是dom,關於他們的遍歷方法。

數組方法(ES5)

Array.prototype.forEach()

語法

array.forEach(callback[, thisArg])

callback函數參數

第一個參數:當前項
第二個參數:當前項的索引
第三個參數:數組本身

thisArg參數

這個參數是可選參數。
主要用於綁定函數內this的作用域,否則你在函數內調用this,this指代全局對象Window(ES3)或者undefined(ES5嚴格模式下)

關於中斷(MDN原話)

沒有辦法中止或者跳出 forEach 循環,除了拋出一個異常。如果你需要這樣,使用forEach()方法是錯誤的,你可以用一個簡單的循環作為替代。如果您正在測試一個數組里的元素是否符合某條件,且需要返回一個布爾值,那么可使用 Array.every Array.some


jQuery方法

語法

.each()

作用

用來遍歷dom

用法

$(dom).each( function(index, Element) ) { do Something... }

參數

第一個參數:當前索引,從0開始
第二個參數:指被當前迭代的元素,與在函數體內的this等價

關於中斷

可以通過返回false以便在函數體內終止循環


for方法

語法

for(var i = 0; i < someArray.length; i++) { doSomething... }

作用

循環

關於中斷

break; 語法可以完成中斷
return; 語法直接報錯(未捕獲的語法錯誤: 非法返回聲明)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM