javascript - zepto源码callBacks模块里面的一点疑问?
大家讲道理
大家讲道理 2017-04-11 12:01:56
0
1
290

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高手帮忙分析下,大家一起分析讨论。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
巴扎黑

看着是list缓存数据用的

list = [], // Actual callback list
stack = !options.once && [], // Stack of fire calls for repeatable lists

每次判断statck是不是正确的对象,然后循环调用fire,传参每次shift数组statck,这样可以保留list的数组,保证不破坏数据

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!