zepto源码callBacks模块里面的一点疑问?

zepto的callBacks模块源码:zepto中callBacks源码
在上述zepto的callBacks模块里面,我有以下疑问点:

1.stack是干嘛用的?和list的区别在哪里?为什么非要多出一个stack。

2.在fire函数里面,最后一段代码是什么逻辑,看不出用意何在:

if (list) {    if (stack) stack.length && fire(stack.shift())    else if (memory) list.length = 0    else Callbacks.disable()
}

3.lock和disable的区别是什么?


求zepto高手帮忙分析下,大家一起分析讨论。


交互式爱情
浏览 513回答 1
1回答

慕的地10843

看着是list缓存数据用的list = [], // Actual callback liststack = !options.once && [], // Stack of fire calls for repeatable lists每次判断statck是不是正确的对象,然后循环调用fire,传参每次shift数组statck,这样可以保留list的数组,保证不破坏数据
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript