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

如题:封装函数 f,使 f 的 this 指向指定的对象bash

function bindThis(f, oTarget) {
    if (f.bind) {
        return f.bind(oTarget);
    } else {
        return function(){
            return f.apply(oTarget,arguments);
        };
    }
}
复制代码

考虑兼容性对bind进行了判断,apply之因此要放在一个函数里面是由于bind返回的是一个函数,而apply方法是当即执行函数,因此须要放在一个函数里面,到调用的时候再当即执行。app