在js函数中,除了定义函数时的形参,还有两个附加参数,即this和arguments,本篇就讲一下this关键字的用法以及this在不同场景下值。
初学时受启发得知this的指向取决于函数的调用方式,总结下来有以下几点:
事件模型
事件触发过程
在前端开发中,经常会遇到事件监听,很多人对事件捕获及事件冒泡不置可否,以下是我对事件模型的一些看法,简单来说就是从外向内捕捉,然后到目标阶段后依次向上冒泡,详情请自行W3C。
图片引用自W3C
1、捕获阶段:在事件对象到达事件目标之前,事件对象必须从window经过目标的祖先节点传播到事件目标。 这个阶段被我们称之为捕获阶段。在这个阶段注册的事件监听器在事件到达其目标前必须先处理事件。
2、目标阶段:事件对象到达其事件目标。 这个阶段被我们称为目标阶段。一旦事件对象到达事件目标,该阶段的事件监听器就要对它进行处理。如果一个事件对象类型被标志为不能冒泡。那么对应的事件对象在到达此阶段时就会终止传播。
3、冒泡阶段:事件对象以一个与捕获阶段相反的方向从事件目标传播经过其祖先节点传播到window。这个阶段被称之为冒泡阶段。在此阶段注册的事件监听器会对相应的冒泡事件进行处理。
原生js拖拽实现
css3 Clock
reference http://segmentfault.com/a/1190000003055672
See the Pen clock by Hugh Dai (@HughDai) on CodePen.