forEach()方法需要一个函数作为参数
数组中有几个元素函数就会执行几次
:::info
这个方法只支持 IE8 以上的浏览器,IE8及以下的浏览器均不支持该方法,所以如果需要兼容 IE8,则不要使用forEach()方法,还是使用 for 循环来遍历
:::
var arr = ["孙悟空","猪八戒","沙和尚","唐僧"];
arr.forEach(function(){
});
像这种函数,由我们创建但是不由我们调用的,称为 回调函数
数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递给函数,可以定义形参,来接收这些内容
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); // 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 });