|
|
|
|
|
JavaScript中for
和forEach
都有循環(huán)遍歷數組的功能,但是forEach
又與for
有著不一樣的功能表現,其中一個比較明顯的不同之處是forEach
有回調函數的功能。今天,我將介紹一下forEach
和for
不同的功能表現。
什么是 forEach?
ForEach 是一種對數組中的每個元素執(zhí)行一次函數的方法。讓我們用它來對一組數字求和。
for遍歷數組,通過索引值查找元素
在下一個示例中,我們要構建一個名為“dog”的列表,我們使用for
循環(huán)將每個名稱添加到數組中,這需要通過索引“ i
”查找元素。
forEach遍歷數組,傳遞回調函數
forEach
讓我們可以編寫沒有索引變量“ i
”的相同代碼。我們將一個函數傳遞給forEach
,它在每個元素上運行該函數。
在此示例中,for
和forEach
具有相同的結果,但功能不同,因為forEach
為數組的每個元素傳遞了一個回調函數。
forEach修改數組元素
此外,我們可以在forEach
期間修改數組的元素:
回調函數可以引用甚至修改外部作用域中定義的變量。
回調函數修改結果變量
在下一個示例中,回調函數修改結果變量。
forEach
回調的第二個參數是項目的索引。
上面的例子在我們調用forEach
的地方定義了內聯回調函數。函數是 JavaScript 中的值,因此我們也可以通過其他方式傳遞它們。例如,我們可以將函數放在一個變量中,然后將該變量傳遞給forEach
。以下示例以不同的方式定義了我們的forEach
回調函數,但它們都具有相同的效果。
為什么使用 forEach?
forEach
循環(huán)用于遍歷集合的元素,集合可以是數組或列表。它針對數組中存在的每個元素執(zhí)行。在循環(huán)體中,你可以使用你創(chuàng)建的循環(huán)變量,而不是使用索引數組元素。
總結
本文介紹了forEach
與for
不同的功能表現,在編程過程中,可能由于編程習慣而用for
多一點,但是當你不斷開始使用forEach
時,你會體會到使用它的樂趣。
相關文章