bind()是否会更改函数引用?| 如何永久设置?

7 javascript

可能重复:
删除使用bind添加的事件侦听器

我需要动态添加和删除事件侦听器.我还需要设置this.

这会改变功能参考吗?

element.addEventListener('click', funcA);
newFunc = funcA.bind(this);
element.removeEventListner('click', newFunc);
Run Code Online (Sandbox Code Playgroud)

removeEventListener会知道我要删除funcA吗?

或者它认为我一起删除一个新功能?

Ber*_*rgi 5

还是认为我要一起删除一个新功能?

是的,.bind()返回一个新的函数对象。

  • 是的,你可以执行`this.enter = (function(){…}).bind(this)`,这样`this.enter`将只引用绑定的函数 (2认同)