事件类型
捕获事件
捕获事件是从不确定对象向目标对象传播,自顶向下。
冒泡事件
捕获事件是从确定对象向顶层对象传播,自底向上。
文档流中事件触发顺序是先自顶向下找到确定对象,然后在由对象向上冒泡。
代理事件
如果一个节点中的子节点是动态生成的,那么子节点需要注册事件的话应该注册在父节点上
事件循环
Javascript执行引擎的主线程运行的时候,产生堆(heap)和栈(stack)。程序中代码依次进入栈中等待执行,当调用setTimeout()方法时,即图中右侧WebAPIs方法时,浏览器内核相应模块开始延时方法的处理,当延时方法到达触发条件时,方法被添加到用于回调的任务队列,只要执行引擎栈中的代码执行完毕,主线程就会去读取任务队列,依次执行那些满足触发条件的回调函数。