jQuery源码分析之Callbacks详解

2020-05-23 06:21:26易采站长站整理

                return this;
            },
            disable: function () {//废掉这个callbacks对象,后续的回调函数列表不再执行
                list = stack = auto = undefined;
                return this;
            },
            disabled: function () {//是否已经废掉
                return !list; //转换为boolean
            },
            lock: function (isLock) {//锁定或解锁这个callbacks对象
                //无参,判断这个callbacks是否被锁定
                if (isLock == null) return !!_list;
                if (isLock) {//锁
                    _list = stack && list.concat(stack) || list;
                    list = undefined;
                } else {//解锁,jQuery并没有提供解锁功能,解锁让Callbacks变得不稳定
                    list = _list;
                    _list = undefined;
                }
                return this;
            },
            fired: function () {//这个callbacks是否执行过
                //转换为boolean,包括undefined,null,”等
                return !!fired;
            }
        };