forEach()方法需要一个函数作为参数
    数组中有几个元素函数就会执行几次 :::info 这个方法只支持 IE8 以上的浏览器,IE8及以下的浏览器均不支持该方法,所以如果需要兼容 IE8,则不要使用forEach()方法,还是使用 for 循环来遍历 ::: image.png

    1. var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
    2. arr.forEach(function(){
    3. });

    像这种函数,由我们创建但是不由我们调用的,称为 回调函数

    数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递给函数,可以定义形参,来接收这些内容

    1. var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
    2. arr.forEach(function(a,b,c){
    3. console.log(a);
    4. // console.log(b);
    5. // console.log(c);
    6. // console.log(c === arr);
    7. });

    浏览器会在回调函数中传递三个参数:

    • 第一个参数,就是当前正在遍历的元素

      var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
      arr.forEach(function(a,b,c){
        console.log(a);  // 孙悟空 猪八戒 沙和尚 唐僧
        // console.log(b);
        // console.log(c);
        // console.log(c === arr);
      });
      
    • 第二个参数,就是当前正在遍历的元素的索引

      var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
      arr.forEach(function(a,b,c){
        // console.log(a);
        console.log(b);  // 0 1 2 3 
        // console.log(c);
        // console.log(c === arr);
      });
      
    • 第三个参数,就是正在遍历的数组

      var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
      arr.forEach(function(a,b,c){
        // console.log(a); 
        // console.log(b);
        console.log(c);  // ['孙悟空', '猪八戒', '沙和尚', '唐僧']
        console.log(c === arr);  // true
      });