addCallback(item);
}
});
})(arguments);
}
if (firing)//如果当前正有回调函数在执行,那么需要更新当前回调函数列表的length,否则这个新压入的回调函数就会被掠过。
firingLength = list.length;
else if (auto) {//如果当前没有执行回调函数,并且要求自动执行
//注意这里是给firingStart赋值,上面fire方法中正在使用的是firingIndex,这里不会影响到上面代码的执行线路
firingStart = start;
//执行我们新加入的小伙伴
fire(auto);
}
return this;
},
fire: function () {//触发回调函数
self.fireWith(this, arguments);
return this;
},
fireWith: function (context, args) {//触发回调函数,并指定上下文
//如果配置了once,stack将为undefined,而once又需要保证只执行一次,所以一旦执行过一次,这里的代码不会再执行










