使用forEach函数绑定函数的上下文

<script>
    function forEach(list,callback){
        for(var n = 0;n<list.length;n++){
            callback.call(list[n],n);
        }
    }
    var weapons = ['wangwu','lisisi','zhangsan'];
    forEach(weapons,
        function(index){
            alert(this);
        });
</script>

首先定义一个weapons数组,再定义一个forEach函数,随后在后面调用该函数,传入实际参数weapons,和匿名函数。

在for循环中遍历weapons数组,然后针对每个数组的元素调用callback函数。

使用call方法将当前元素作为第一个参数传入,并且将元素的索引作为第二个参数传入,这样 我们就成功让当前元素成为了回调函数的上下文

原文地址:https://www.cnblogs.com/Jerry-spo/p/6485084.html