如下bindThis方法:
function bindThis(f, oTarget) {
return function () {
return f.apply(oTarget, [...arguments])
}
}
第一个return作用是为了为回调函数f传参的,通过return 一个函数,用arguments获取return的那个函数的参数传给f。
第二个return的作用是返回回调函数f调用的结果,我们假设没有第二个return,而回调函数里面有一个return ,当我们执行let a=bindThis(f,oTarget)()的时候,结果a为undefined,是获取不到回调函数里面return的值的。