大家好,我是逆战班小丁,现在正在学习前端技术中的JavaScript,现在浅谈一下for循环和forEach以及for...in循环的区别,个人理解,有什么不对的地方还请诸位大神多多指导。
先来说for循环,for循环可以用于数组,并且可以控制循环的起始和结束位置,但是要注意for循环是不可用于对象的循环遍历,因为对象是无序的。它可以用于数组,但是我们一般需要对数组进行循环遍历时,都会选择forEach,因为forEach相对于for循环而言,比较简单。
然后是forEach循环,它是专门针对数组的一种循环遍历方法,共有三个参数可以设置,语法形式是
数组.forEach(function(参数1,参数2,参数3));
参数1:存储数组单元数据;
参数2:存储数组单元索引;
参数3:存储原始数据
参数名称可以任意定义,参数个数根据需求来定义;
而且,在每次循环遍历中,每个参数2都是不同的,所以可以在循环时设定与索引相关的数据,而for循环不同,for循环定义的变量的最后结果是边界值,当设定与变量相关的数据时,会导致设置成for循环变量范围的边界值。
所以针对数组而言,我们一般会选择forEach的方式去循环遍历;
然后我们来说for...in循环,它可以使用于数组和对象,但是一般而言是针对于对象的循环,它的语法形式是:
for(var 自定义变量 in 数组/对象){程序};
这个自定义变量,针对数组指的是数组的索引,针对对象,指的是对象的键名。
总结就是,for循环、forEach()循环、for…in循环,针对数组而言,都可以完成我们的需求,只是针对不同的情况,推荐使用forEach(),最简单最方便;
for循环可以控制循环的起始和结束,forEach和fon...in不可以控制,直接是从头到尾;
for...in一般是针对对象的循环;
好了,今天小丁的分享就到这了,大家有什么不同的见解欢迎指导哦