说说前端中的事件流?
HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件onclick、页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件流”的概念。
什么是事件流:事件流描述的是从页面中接收事件的顺序,DOM2级事件流包括下面几个阶段:
事件捕获阶段处于目标阶段事件冒泡阶段addEventListener:addEventListener是DOM2级事件新增的指定事件处理程序的操作,这个方法接收3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序;IE只支持事件冒泡。
如何让事件先冒泡后捕获?
在DOM标准事件模型中,是先捕获后冒泡。但是如果要实现先冒泡后捕获的效果,对于同一个事件,监听捕获和冒泡,分别对应相应的处理函数,监听到捕获事件,先暂缓执行,直到冒泡事件被捕获后再执行捕获之间。
eval是做什么的?
它的功能是将对应的字符串解析成js并执行,应该避免使用js,因为非常消耗性能(2次,一次解析成js,一次执行)。
js如何判断类型?
判断方法:typeof(),instanceof,Object.prototype.toString.call()等。
js数组常用方法?
push(),pop(),shift(),unshift(),splice(),sort(),reverse(),map()等。
js事件代理在捕获阶段的实际应用?
可以在父元素层面阻止事件向子元素传播,也可代替子元素执行某些操作。
以上就是小科今天整理提供的Web前端开发面试题,希望为Web前端同学提供了有用的面试素材,以后小科每日均会提供Python、Web及MySQL数据库相关的习题。学习没有捷径,希望大家都能少走一些弯路,顺利找到工作!
Web前端面试题推荐:
Web前端面试题:什么是事件委托?-开课吧
初级Web前端面试题:DOM的事件模型是什么?-开课吧
Web前端面试题初级前端面试题分享-开课吧