};
};
//注册到window下
window.Callbacks = Callbacks;
}(window));
但是在jQuery里采用了更奇妙的用法,获取jQuery作者也自豪这种用法,所以命名这个模型为memory——就是让上面的变量auto不仅仅表示当前是auto执行模式,并且作为最后一次参数的容器,它既表示了auto,也表示了memory。(下面的代码非jQuery是根据jQuery代码思路而写,非源码):
(function (window, undefined) {
var Callbacks = function (auto) {
var list = [],
fired,
memory,//主演在这里,就是memory
coreFire = function (data) {
//真正的触发函数方法
if (list) {
//&&表达式妙用
memory = auto && data;//记录最后一次的参数,如果不是auto模式则不会记录这个参数
//如果是auto模式,那么这个auto将不会为false,它会是一个数组
fired = true;
for (var i = 0, len = list.length; i < len; i++) {
if (list[i].apply(data[0], data[1]) === false)










