米哈游Web前端面试题解析:事件委托、this关键字与浏览器存储
137 浏览量
更新于2024-08-03
收藏 3KB TXT 举报
“米哈游web前端面试部分题目”
在前端求职面试中,米哈游可能会考察一系列技术和实践经验。以下是对题目中涉及知识点的详细解释:
1. **事件委托**:事件委托是一种优化JavaScript事件处理的策略,基于事件冒泡机制。它允许我们在父元素上设置一个事件处理器,来响应所有子元素的事件,减少了为每个子元素单独添加事件监听器的需求,从而节省内存和提高性能。然而,如果不恰当使用,可能导致事件处理混乱,比如在多个相似元素上处理相同事件时可能产生误判。
2. **this关键字**:在JavaScript中,`this`的值取决于函数调用的上下文。在非严格模式下,全局函数中的`this`通常指向全局对象(浏览器环境中是`window`)。在构造函数中,`this`指向新创建的实例。`call`、`apply`和`bind`方法可以显式设置`this`的值。箭头函数不同,其`this`值继承自外层作用域,不具有自己的`this`绑定。
3. **浏览器存储方式**:
- **Cookie**:小型文本文件,存储在客户端,通常用于保持登录状态。每个Cookie大小约4KB,每个域名下的Cookie数量有限制。
- **LocalStorage**:持久化的键值对存储,数据在浏览器关闭后仍然存在,但仅限于同源策略。
- **SessionStorage**:与LocalStorage类似,但数据仅在当前会话中有效,关闭窗口或标签页后数据将被清除。
- **WebSQL**:已废弃的数据库存储方式,被IndexedDB取代。
- **IndexedDB**:更复杂的数据库存储,适合大量结构化数据的存储。
4. **Session**:当浏览器崩溃后,即使恢复,JSESSIONID(sessionid)会丢失,但服务器端的sessionid通常不会立即销毁。用户重新访问时,服务器会创建新的session。
5. **Cookie存储大小限制**:不同浏览器对每条Cookie的大小和每个域名下的总Cookie数量有不同的限制,大致每条Cookie不超过4KB。
6. **HttpOnly**:HttpOnly标记设置在Cookie中,目的是防止XSS攻击。因为JavaScript无法访问带有此标志的Cookie,从而保护敏感信息,如用户认证凭证。
7. **页面渲染过程**:
- 解析HTML构建DOM树
- 解析CSS构建CSSOM树
- 合并DOM和CSSOM形成渲染树
- 布局阶段确定每个节点的位置
- 绘制阶段将节点绘制到屏幕
8. **路由模式及参数传递**:
- **Hash模式**:URL中使用`#`来改变路径,参数附在`#`后面,例如`#/path?param=value`,不刷新页面。
- **History模式**:利用HTML5 History API,URL看起来像常规服务器路径,如`/path?param=value`,需要服务器配置支持。
- **Abstract模式**:抽象模式,主要用于库内部使用,不依赖特定的URL结构。
- 参数传递通常通过URL查询字符串(`?param=value`)、路由路径中的动态段(如`/user/:userId`)或通过组件状态管理工具(如Redux或Vue Router的`props`)进行。
这些知识点是前端开发人员应该熟悉的基本概念,对于面试准备至关重要。了解并能熟练应用这些知识,将有助于在面试中表现出色。
410 浏览量
198 浏览量
410 浏览量
236 浏览量
196 浏览量
229 浏览量
217 浏览量
2024-03-10 上传
飞影铠甲
- 粉丝: 4929
- 资源: 219
最新资源
- Msp430x1xx family User's Guide.pdf
- Thinking.In.Java.3rd.Edition.Chinese.eBook-YSSY.pdf
- jsp随堂考试系统毕业论文
- 《arm嵌入式系统基础教程》
- Java经典代码.pdf
- JAVA编码规范.doc
- iPhone SDK Application Development, 1st Edition
- ShellExecute使用详解
- JavaEE+5.0规范(简体中文版)
- J2EE全实例教程(代码详细)
- 高质量C++编程指南
- java基础教程(适合初学者)
- C#编程规范(超详细)
- myeclise7.1注册类
- 南开一百题最终word版
- DOS系统操作命令集