目的是为了方便移除带参数的函数。看网上没有特别合适的就整一个绕小弯的算了
简而言之
1:写一个函数
var test = function(a) {
console.log(a);
}
先写一个带名的函数
2:addEventListener
按照惯例添加,但是在添加之前我们需要用一个变量代替一下,通过bind函数将参数传入赋值给TMP,此时TMP就变成了一个带参数2的test函数
var TMP = test.bind(this, 2);
将TMP作为需要执行的函数加入addEventListener 这样移除就很方便了
xxxx.addEventListener('xxx', TMP);
3: removeEventListener
经过TMP变量的处理,只需移除TMP即可移除该函数
if (TMP !== null) {
xxx.removeEventListener('xxx', TMP);
TMP = null;
}
内容很简单,可以直接尝试