获取javascript函数的绑定执行上下文

获取javascript函数的绑定执行上下文,javascript,executioncontext,Javascript,Executioncontext,让我们假设这个javascript代码 function a (b,c,d) {log(this); return b+c+d;} a(1,2,3); // logs [Object Window], returns 6 bound = a.bind("hello", 5,6); bound(7); // logs "hello", returns 18 现在给定函数bound(例如作为回调),是否有方法检索绑定上下文-即“hello”,5,6?虽然我看不到从函数直接读取绑定上下文的方法,但

让我们假设这个javascript代码

function a (b,c,d) {log(this); return b+c+d;}

a(1,2,3); // logs [Object Window], returns 6
bound = a.bind("hello", 5,6);
bound(7); // logs "hello", returns 18

现在给定函数
bound
(例如作为回调),是否有方法检索绑定上下文-即“hello”,5,6?

虽然我看不到从函数直接读取绑定上下文的方法,但您可以使用它(作为另一个函数的执行范围)

函数
preBound
只提供其作用域,而不调用自身

/**
 * @param {function} toBeCalled
 * @param {function} preBound
 * @param {array} args
 */
function callOnBoundScope(toBeCalled, preBound, args) {
    toBeCalled.apply(preBound, args);
}