对于某种事件处理,我正在收集数组中的回调以便稍后调用它们。
但是也应该可以再次删除特定的回调函数。
问题是当使用'.bind(this)'向数组添加回调时,不会添加原始函数,所以我在找到该数组中的函数时会遇到问题将其删除。
我创建了一个jsfiddle以使事情更清晰:https://jsfiddle.net/x7oanaLv/
我使用var index = callbacks.indexOf(aFunction);
来获取要删除它的函数的索引。但是如果函数是用.bind(this)添加的,则indexOf函数将返回-1。
如果您使用第一个按钮向回调数组添加回调,则可以通过按“删除”按钮再次将其删除。第二个按钮将使用.bind(this)添加绑定回调。这不能再被删除了,因为我在数组中找不到这个函数。
如果要通过传递原始函数将其删除,如何在数组中找到绑定回调?