修改 this 指向

封装函数 f,使 f 的 this 指向指定的对象

function bindThis(f, oTarget) {
    if(f.bind){
        return f.bind(oTarget);
    }else{
        return function(){
            return f.apply(oTarget,arguments)
        }
    }
}
//apply用函数的原因:bind返回的是一个函数,而apply方法是立即执行函数,所以需要放在一个函数里面,到调用的时候再立即执行。

 

posted @ 2018-04-12 09:45  -CLAY-  阅读(253)  评论(0编辑  收藏  举报