是否有任何方法可以调用函数但将上下文设置为this
当我调用函数时它具有的“默认”值fn()
?
这个方法应该接受一个数组并将单个元素作为参数传递给函数,就像 apply() 一样:
emitter = new EventEmitter();
args = ['foo', 'bar'];
// This is the desired result:
emitter.emit('event', args[0], args[1], ...);
// I can do this using apply, but need to set the context right
emitter.emit.apply(emitter, 'event', args);
// How can I trim the context from this?
emitter.emit.???('event', args);
编辑:为了澄清这一点,我确实关心this
被调用函数内部的值 - 它需要是它在执行时具有的“正常”上下文emitter.emit()
,而不是全局对象或其他任何东西。否则,这有时会破坏事情。