JavaScript forEach()
forEach方法功能幾乎和map方法一模一樣。
關於map方法可以參閱JavaScript map()方法一章節。
兩者區別如下:
(1).forEach方法是ES3新增,map方法是ES5新增。
(2).forEach方法返回值為undefined,map方法返回值是一個陣列。
更多內容可以參閱JavaScript Array 陣列一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼array.forEach(callbackfn[, thisArg])
引數解析:
(1).callbackfn:必需,回撥函式,此函式會針對陣列的每一個元素執行一次。
回撥函式可以有三個引數:
第一個引數是當前陣列元素值。
第二個引數是當前陣列元素的索引。
第三個引數就是陣列物件本身。
(2).thisArg:可選,規定回撥函式中this所指向的物件,省略,this指向window物件。
瀏覽器相容:
(1).IE瀏覽器支援此方法。
(2).edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let func=function(value,index){ console.log(index+":"+value); } let arr=["螞蟻部落","softwhy.com","antzone","青島市南區"]; arr.forEach(func);
程式碼執行效果截圖如下:
可以看到forEach方法會對陣列的每一個元素執行一次回撥函式。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let obj={ num:2 } let func=function(value,index){ console.log(index*obj.num + ":"+value); } let arr=["螞蟻部落","softwhy.com","antzone","青島市南區"]; arr.forEach(func,obj);
程式碼執行效果截圖如下:
為回撥函式傳遞了第二個引數,它可以規定回撥函式this所指向的物件。
預設情況下回撥函式的this指向window物件,現在它指向obj物件。
相關文章
- JavaScript中foreachJavaScript
- JavaScript 中 forEach、map、filter 詳細JavaScriptFilter
- javascript forEach無法break,使用every代替JavaScript
- JavaScript 的 4 種陣列遍歷方法: for VS forEach() VS for/in VS for/ofJavaScript陣列
- Iterator & foreach
- foreach陷阱
- Map forEach() 方法
- forEach與map
- foreach使用引用時的一個坑-foreach原始碼分析原始碼
- 在lambda的foreach遍歷中break退出(lambda foreach break)
- [譯]在 JavaScript 中 為什麼你應當使用 map 和 filter 來替代 forEachJavaScriptFilter
- mybatis foreach迴圈MyBatis
- jstl forEach遍歷JS
- The label does not denote a loop in forEachOOP
- forEach、map、reduce比較
- Mybatis中foreach的使用MyBatis
- php中foreach的使用PHP
- forEach()相容所有瀏覽器瀏覽器
- PHP 中的 foreach 工作原理PHP
- 深入理解PHP之foreachPHP
- Jmeter——ForEach Controller&Loop ControllerJMeterControllerOOP
- 你可以終止 forEach 嗎?
- JS forEach()第二個引數JS
- js迴圈(for/for in/forEach/map/for of)詳解JS
- systemverilog中for/foreach並行執行並行
- PHP中foreach讀取順序PHP
- 幽默:Ifelse、swtich、while、foreach形象比喻While
- JAVA中的foreach怎麼用Java
- MyBatis xml foreach迴圈語句MyBatisXML
- 【Spark Java API】Action(3)—foreach、fSparkJavaAPI
- Mybatis的 foreach 標籤使用方法.MyBatis
- async,await與forEach引發的血案AI
- for、for...in、for...of、forEach和map的區別
- mybatis關於list的foreach的使用MyBatis
- powershell中的where和foreach比較
- Qt foreach關鍵字遍歷容器QT
- 我理解的foreach, for in, for of 之間的異同
- 你瞭解jsp中的c:forEach嗎?JS