DOM Event 事件流 事件流分为三个阶段:事件捕捉,目标触发,事件冒泡 事件捕捉 注册事件类型发生后,从html到目标节点的父节点,会触发每一个节点注册的捕捉事件。事件...
DOM Event 事件流 事件流分为三个阶段:事件捕捉,目标触发,事件冒泡 事件捕捉 注册事件类型发生后,从html到目标节点的父节点,会触发每一个节点注册的捕捉事件。事件...
AMD CMD AMD,CMD是浏览器端模块加载器的两种规范。AMD的代表是requireJS和SeaJS。今天主要研究这俩玩意的区别。 规范区别 AMD define(id...
iconfont 听群里大佬说,雪碧图现在已经不流行用了……替代雪碧图的方案是iconfont。今天的任务就是来研究研究iconfont。 什么是iconfont Iconf...
中介者模式 中介者模式用来接触对象和对象之间的耦合关系。假如现在有一堆同父类的对象之间需要相互通信,每个对象之间都相互通信是一个不好的做法。适合的做法是采用中介者模式,每个对...
组合模式 职责链模式 组合模式 组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。 在组合模式的树形结构中,所有的节点都类似于继承了一个抽象类一样,需要实现同样名...
发布订阅模式 和 观察者模式 发布订阅并不是观察者模式。但我觉得没有必要细究这个……同样的思路不同的写法而已。另外看了这么久,我还是没懂订阅、发布、观察这三个词是什么意思……...
代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。 简单点讲,就是我们被希望直接通过操作A对象的,但是直接操作太复杂了,我们希望对A对象的操作少一点,...
策略模式 我认为的封装模式,就是封装一系列方法;这些方法的共同点就是:输入输出相同;而我们在不同地条件只是需要简单地将中间的转换方法(即策略)进行更换,就可以达到不同条件下的...
单例模式 单例(Singleton)模式的作用让某一个类始终只拥有一个实例,即每次通过构造函数构造的对象始终是同一个。 单例模式的实现 实例挂载构造函数 优点:实现简单缺点:...
JavaScript函数式编程 函数式编程的基础是一等函数(函数在js中作为一等公民)、作用域(词法作用域,动态作用域)和闭包。函数式编程的第一个概念是高等函数:高等函数将函...
chain Underscore支持链式调用;不过要求函数链的开头要用chain函数生成封装对象。看看chain到底做了啥。 chain生成了返回了一个underscore实...
throttle(func, wait, options) 节流函数,返回一个函数的节流版本;所谓节流版本,就是给需要执行的函数一个执行间隔:每隔waitms才执行一次fun...
shuffle Fisher-Yates shuffle;官方写了shuffle使用这种算法在进行随机乱序。 不过说真的,我没看懂源码是怎么实现的;尽管我看懂了Fisher-...
bind函数 参考:JavaScript深入之bind的模拟实现 bind(function, object, *arguments):绑定函数 function 到对象 o...
flatten flatten是用来实现数组扁平化的,并加入了shallow函数strict来表示是否只将数组进行一次扁平化和是否对参数有严格要求。 然而我觉得官方的实现在效...