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).safari 瀏覽器支援此方法。
程式碼例項:
[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中Map和ForEach的區別JavaScript
- JavaScript裡的迴圈方法:forEach,for-in,for-ofJavaScript
- JavaScript 的 4 種陣列遍歷方法: for VS forEach() VS for/in VS for/ofJavaScript陣列
- Iterator & foreach
- Foreach巢狀Foreach速度慢優化方案巢狀優化
- 一張圖看懂JavaScript中陣列的迭代方法:forEach、map、filter、reduce、every、someJavaScript陣列Filter
- foreach使用引用時的一個坑-foreach原始碼分析原始碼
- mybatis foreach迴圈MyBatis
- MyBatis foreach標籤MyBatis
- Java 8 forEach使用Java
- java中的forEachJava
- [譯]在 JavaScript 中 為什麼你應當使用 map 和 filter 來替代 forEachJavaScriptFilter
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- php中foreach的使用PHP
- jstl forEach遍歷JS
- java中 foreach 的使用Java
- Mybatis中foreach的使用MyBatis
- forEach()相容所有瀏覽器瀏覽器
- PHP 中的 foreach 工作原理PHP
- 深入理解PHP之foreachPHP
- C# List.ForEach 方法C#
- 你可以終止 forEach 嗎?
- JS forEach()第二個引數JS
- PHP中foreach讀取順序PHP
- 【Spark Java API】Action(3)—foreach、fSparkJavaAPI
- JAVA中的foreach怎麼用Java
- MyBatis xml foreach迴圈語句MyBatisXML
- The label does not denote a loop in forEachOOP
- js迴圈(for/for in/forEach/map/for of)詳解JS
- mybatis中foreach標籤詳解MyBatis
- 再學Java 之 foreach迴圈Java
- for、for...in、for...of、forEach和map的區別
- mybatis關於list的foreach的使用MyBatis
- Mybatis的 foreach 標籤使用方法.MyBatis
- Qt foreach關鍵字遍歷容器QT