首页 > Web开发 > 详细

jQuery -> Callbacks

时间:2014-05-04 12:27:21      阅读:348      评论:0      收藏:0      [点我收藏+]

Callbacks 是jQuery 1.7之后新加的一个工具,用于管理callback lists(函数数组)

 

作为码农,经常被灌输这样的逻辑:

真正厉害的不是写多么复杂的代码,而是写简单易懂的代码。

不明就里的人则会把她作为衡量代码质量的准则,并抓住每一个抱怨的机会说道,“这代码真复杂,是给人看的吗!”。

 

关于Callbacks基本使用,可以移步到Callbacks API 

 

下面说一下创建Callbacks对象时使用的四个参数类型

  • once 确保只能fire一次,由全局变量fired和stack确保(fired记录是否之前执行过,stack保存下一次执行的上下文和函数参数)
  • memory 确保之后添加的函数可以被前一次fire时使用的参数调用一次。在执行add操作时触发,由全局变量memory维护前一次调用的函数参数
  • unique 确保add操作不会加入相同的函数
  • stopOnFalse 确保在fire时,如果队列中有函数返回false,则程序在该函数处退出,之后的函数也不会被执行。

理解了上面的内容还不足以看明白代码,因为上面的四个类型还可以进行组合使用。他们之间还存在相互关联

  • unique选项,在add操作时确保队列中无重复,和后续的执行无关联,因此和其它选项之间不存在交互
  • stopOnFalse和memory组合时的逻辑应该是: stopOnFalse && fn()==false => memory=false,这样确保了后续的add操作不会执行fire,进而维护了stopOnFalse的语义。
  • once和memory组合时不存在冲突,但是作者在fire结束时,将list清空
  • once memory和stopOnFalse的组合,当触发fn()==false的函数没有出现时,执行情况和once memory一致,add新的函数会存在上一次的记忆,当令fn()==false的函数出现后,执行disable()操作=>list = stack = memory = undefined;

jQuery -> Callbacks,布布扣,bubuko.com

jQuery -> Callbacks

原文:http://www.cnblogs.com/sudo/p/3705336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!