语法:array.forEach(function(currentValue, index, arr),thisValue) 参数说明: currentValue: 必须,当前元素的值 index: 可选,当前元素的索引值 arr: 可选,当前元素属于的数组对象 thisValue: 可选。传递给函数的值一般用 “this” 值。如果这个参数为空, “undefined” 会传递给 “this” 值 返回值: undefined

    1. let myTest = ['a','b','c','d'];
    2. console.log('-----forEach------')
    3. myTest.forEach((item,index,arr) => {
    4. console.log(item,index,arr)
    5. });
    6. Array.prototype.myForEach= function(fun){
    7. if(typeof fun !=='function'){
    8. throw new Error(fun + '不是一个函数')
    9. }
    10. let context = arguments[1]||window;
    11. for (let i = 0; i < this.length; i++) {
    12. fun.call(context,this[i],i,this)
    13. }
    14. }
    15. console.log('-----myForEach------')
    16. myTest.myForEach((item,index,arr)=>{
    17. console.log(item,index,arr)
    18. })

    image.png