list.splice(index, 1);
if (firing) {
//保证上面fire中正在执行的函数列表能够正确运行,fire中设定全局这些变量为的就是这里可以异步移除
if (index <= firingLength)//修正长度
firingLength–;
if (index <= firingLength)//修正索引
firingIndex–;
}
}
});
}
return this;
},
has: function (fn) {//是否包含一个回调函数
return fn ? inArray(fn, list) > -1 : list && list.length;
},
empty: function () {//清空这个callbacks对象
list = [];
firingLength = 0;










