js之for與forEach循環的區別


  回武漢打卡第四天,武漢加油,逆戰必勝!今天咱們探討一下for循環和forEach()循環的區別。

  首先,for循環在最開始執行循環的時候,會建立一個循環變量i,之后每次循環都是操作這個變量,也就是說它是對一個循環變量在重復的賦值,因此 i 在最后只會存儲一個值;而forEach()雖然變量名沒變,但是實際上每次循環都會創建一個獨立不同的變量,而存儲的數值自然也是不同的數值,因此相互之間不會影響,如下;

  

 

   上面代碼中,我們會發現使用for循環給每個p綁定事件時,無法正確的找到對應的p元素,最后顯示的都是最后一個,這就是因為for循環是一瞬間執行完的,並且只有一個變量,只會存儲一個值,也就是最后的那個值;而forEach()則可以正確的找到對應的p元素,因為每次循環都會創建一個不同的變量去記錄。

  其次,我們知道for循環實際上是可以使用break和continue去終止循環的,但是forEach不行;

  那我們知道其實foreach相比較於for來說代碼量其實是少了很多的,也有一些缺陷,那么我們該如何區分使用更好呢?一般來說,for多數時候都可以使用,當然一般我們需要知道循環次數;而forEach更適合於集合對象的遍歷和操作,具體的我們還是需要根據不同的情景區分去使用了。


免責聲明!

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



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