改变上下文

call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象
call的参数是直接放进去,里面的参数用','隔开

function alterContext(fn, obj) {
    return fn.call(obj);
}

 

bind的参数除了返回的函数时数组之外,其他参数和call一样;也因为他返回的是函数,所以需要➕括号,代表立即调用;;

function alterContext(fn, obj) {
    return fn.bind(obj)();
}

 

apply的所有参数必须放在一个数组中传进去,第一个参数是this的指向对象,第二个参数是数组

function alterContext(fn, obj) {
    return fn.apply(obj);
}

 

posted @ 2021-04-02 10:22  小菜张!  阅读(43)  评论(0)    收藏  举报