for循环,for...in循环,forEach循环的区别

572 阅读1分钟

在逆战班的学习,总结一下上周学习的内容。

forEach()

语法:数组.forEach(function(形参1,形参2,形参3){程序})

  • 注:形参1存储的是当前循环所获得的单元数据;

    形参2存储的是当前循环所获得的单元索引号;

    形参3存储的是原始数组。

    【三个参数不一定都写,根据需要命名】

    只能用来循环遍历数组

      <script>
      var arr = ["A", "B", "C", "D", "E"];
      arr.forEach(function(value, index, arr1) {
          console.log(value, index, arr1);
      });
      </script>
    

for...in

语法: for(var 自定义变量 in 数组){程序}
可以循环遍历数组和对象,常用于循环对象。

如果是数组或字符串,自定义变量储存的是索引号。

数组例子

    <script>
        var arr = ["A", "B", "C", "D", "E"];
        for (var index in arr) {
            console.log(index);
        }
    </script>

字符串例子:

 <script>
    var str = 'abcdefg'
    for (var value in str) {
        console.log(value);
    }
    </script>  

注意这里取得的数组或字符串索引号都是字符串型,实际操作中根据需要再转化为数值型。

如果是对象,自定义变量储存的是键名(也叫属性)。

对象例子

 <script>
    var obj = {
        studentName: 'Andy',
        class: '一年一班',
        math: 80,
        English: 60,
        music: 70
    }
    for (var value in obj) {
        console.log(value);
    }
</script>

for循环

语法:for( 定义循环变量的初始值 ;判断进入条件; 步长 ){循环体};

  1. 定义循环变量并且赋值初始值
  2. 判断是否符合进入循环的条件
  3. 执行循环体
  4. 执行步长

执行步骤通常为1.2【符合条件】.3.4——>2.3.4——>2.3.4——>2.3.4 ...——>2.3.4——>2【不符合条件】结束。

for循环是应用最广泛,以上的例子都可以用for循环实现,适用于已知循环次数循环嵌套情况。