看到了一个开源的Events模块 pubsub.js,源代码大概三百多行,本来以为是很简单的一个工具类,但细看之下,发现代码中还是有很多晦涩之处,今天使用ES6将源码重构一遍,其中还是有很多值得学习的地方,不得不说,一个开源的模块要考虑的东西还是很多很多的。
Requirejs源码浅析
Requirejs在项目中使用很多,平时配置好以后,只是在用,很少去探究其内部实现,只知道是通过script标签去加载依赖,监听加载成功或失败的事件,再去继续逐步加载。今天大致看了一下源码,发现其内部实现还是十分复杂的,看了一小部分,做个笔记。
DOM事件机制解惑
面试的时候经常会被问到,事件代理是利用了事件的什么机制?一般我们都会说,是利用了事件冒泡机制,但具体冒泡机制在事件代理的过程了起到了什么关键作用,我想大部分人也是不了解的。静下心来,仔细看了下有关事件和事件代理问题,自己终于找到了合适的答案。
Cookie.js源码解析
Github上有一个开源的操作Cookie的工具类,非常简洁,代码不到100行,压缩之后不到2kb,这个工具类,最大的特点就是API极其简单,语法糖设计很巧妙,让你分分钟就能记住它的使用方法,这正是封装的作用体现,让使用者不用关心内部实现,简单使用,没有记忆和学习成本。
Fetch API 初探
JavaScript 通过XMLHttpRequest(XHR)来执行异步请求,设计上不符合职责分离原则,将输入、输出和用事件来跟踪的状态混杂在一个对象里。而且,基于事件的模型与最近JavaScript流行的Promise以及基于生成器的异步编程模型不太搭。新的 Fetch API打算修正上面提到的那些缺陷。
重拾Ajax
本来想专门学习一个Fetch API的相关知识,然后从XMLHttpRequest对象开始看起,看着看着,突然发现自己每天都在使用的ajax竟然还有好多知识点都不熟悉,细思极恐,于是乎从MDN到W3C文档,各种百度之后,终于简单整理了一份有关于ajax的学习笔记,一方面加深印象,另一方面便于查阅,如有批漏,敬请指正。