问答详情
源自:2-10 迭代器

为什么一定要用call方法?

function each(obj, callback, context, arg) {

    var i = 0;

var value;

var length = obj.length;

for (; i < length; i++) {

callback(obj[i], arg);

}

}

var arr = ['a', 'b', 'c'];

each(arr, function(name, arg) {

$('body').append('<li>' + name + '</li>')

},'aaa')

将代码去除callback.call也可以运行,为什么一定要用call方法?

提问者:吴聊 2015-04-08 14:32

个回答

  • 艾伦Aaron
    2015-04-10 14:07:14

    call 是给指定上下文,给注册的回调函数中的this改成传递的这个