浏览器基础知识点及常考面试题

发布网友 发布时间:2024-10-19 10:06

我来回答

1个回答

热心网友 时间:2024-10-19 10:07

事件与事件流:事件在HTML文档或浏览器中发生的一种交互操作,赋予网页互动性。事件流则是由于DOM结构为树型,当在父节点与子节点上绑定事件,触发子节点时的顺序问题,即事件流。事件流包括事件捕获阶段、目标阶段与事件冒泡阶段。事件冒泡是事件从最具体的元素开始,向上传播至最不具体的父节点的过程。

事件模型:分为原始事件模型、标准事件模型与IE事件模型。这些模型在事件处理上各有侧重。

事件委托:一种将事件响应函数委托给其他元素的技巧,通过将事件绑定至父层或更外层元素,实现事件处理,而非直接绑定于目标元素。适用于大规模DOM操作的场景,如列表项点击事件。

事件委托的应用与注意事项:适用于click、mousedown、mouseup、keydown、keyup、keypress等事件。focus和blur事件没有冒泡机制,不可用事件委托。mousemove和mouseout事件虽然有冒泡机制,但计算定位耗时高,不适用事件委托。事件委托可能导致误判,即错误触发事件。

事件委托的优点:减少与DOM节点的交互,降低内存占用与性能损耗。事件代理与DOM操作仅需一次交互,提高效率。

事件绑定:涉及面试题包括封装事件绑定函数与无限下拉列表中图片点击事件的监听。

跨域:浏览器同源策略了不同域名间资源的访问。出于安全考虑,防止CSRF攻击,同源策略了Ajax请求跨域访问内容。请求虽能发出,但因安全,响应被拦截。

解决跨域问题:通过JSONP、CORS(跨源资源共享)、代理服务器等方法实现跨域请求。JSONP利用script标签规避同源策略,进行跨域数据交互。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com