jquery源码阅读-callbacks

本文讲述阅读 jquery-2.0.3 源码的过程。
参考资料 :妙味课堂的视频,对应32集左右
可以加QQ群:640428442 (群名是C语言,主要探讨和编程相关的技术),有视频资料,和共同爱好的人,发稿前共两人

Callbacks 简述

  • 在视频的第32讲中主要讲解Callbacks,具体用法可以有如下

形象化全靠demo,链接等待中。。。

  • 在这里要提一下延迟对象,这个和Callbacks是有关系的,jquery的ajax又和延迟对象有关系所以看延迟对象和ajax的话能够学到一些Callbacks的使用方法

关于官方的文档写的全是英文的有能力的人可以去看
百度结果人工筛选,作为记录
https://www.cnblogs.com/aaronjs/p/3342344.html
https://www.cnblogs.com/MnCu8261/p/6123492.html
https://www.cnblogs.com/gongshunkai/p/5927514.html
https://www.cnblogs.com/lmule/p/3463515.html
https://www.cnblogs.com/yangjunhua/p/3508502.html
https://segmentfault.com/a/1190000004331027
可以看到大部分都是博客园的

一些想法:大家可以在 github 上面搜索 jquery,可以看到 jquery 是用 nodejs 工具打包的,但是 sizzle 相关的模块没有在源码中,对于 jquery2.0.3 可能和大部分 sizzle 版本都能相接吧

callbacks 使用

  • 后期如果有机会,会补上demo

addfire详见demo
$.Callbacks( string ),string 可以有 once memory unique stopOnFalse 四种可以组合。
在延迟对象中就用了once memory。

源码笔记

  • 在代码的2884-2886 行就是做的 string -> json 的处理,当然调用了jquery自己写的函数
  • 2903 行写的是关于 once 的控制
  • 在 callbacks 内部有一个对象叫 self 有如下属性

摘自某篇博客
callbacks.add() 回调列表中添加一个回调或回调的集合。
callbacks.disable() 禁用回调列表中的回调
callbacks.disabled() 确定回调列表是否已被禁用。
callbacks.empty() 从列表中删除所有的回调.
callbacks.fire() 用给定的参数调用所有的回调
callbacks.fired() 访问给定的上下文和参数列表中的所有回调。
callbacks.fireWith() 访问给定的上下文和参数列表中的所有回调。
callbacks.has() 确定列表中是否提供一个回调
callbacks.lock() 锁定当前状态的回调列表。
callbacks.locked() 确定回调列表是否已被锁定。
callbacks.remove() 从回调列表中的删除一个回调或回调集合。
关于 self 这种设计模式 老夫没看走眼的话应该是工厂模式

结语

本笔记第一版笔记粗糙,因为并没有涉及到真正的源码解析,只是泛泛而谈的引导,还是希望更多的人一起加入,探讨视频中的内容。

你可能感兴趣的:(jquery源码阅读-callbacks)