前端面试必备:CSS定位、JS原型链与Webpack解析
需积分: 5 6 浏览量
更新于2024-08-03
收藏 9KB MD 举报
该资源是一份面试题的Markdown文件,包含了一些前端开发常见的技术知识点,如本地存储、CSS布局(display、定位)、CSS初始化、PostCSS、JavaScript的闭包、原型链、this的概念以及Webpack模块打包工具。
1. **本地存储**:
- 浏览器提供了两种类型的本地存储:`localStorage` 和 `sessionStorage`。
- `localStorage` 用于持久化存储,数据不会在浏览器关闭后消失。
- `sessionStorage` 在浏览器会话结束时清除,适用于临时存储用户在单个浏览会话中的信息。
- 两者都是键值对形式,通过`setItem`和`getItem`方法进行操作。
2. **CSS布局**:
- **display** 属性用于定义元素的显示方式,例如 `block`、`inline`、`flex` 和 `grid` 等。
- **定位** 包括 `relative`(相对定位)、`absolute`(绝对定位)、`fixed`(固定定位)和 `sticky`(粘性定位)。
- 相对定位元素保持其原始位置,但可以通过 `top`, `bottom`, `left`, `right` 属性相对于其正常位置移动。
- 绝对定位元素脱离普通流,相对于最近的非 static 定位祖先元素定位。
- 固定定位始终相对于浏览器窗口定位,不受页面滚动影响。
- 粘性定位结合了相对定位和固定定位的特性,在达到特定阈值前保持相对定位,之后变为固定定位。
3. **初始化CSS**:
- 开发者通常会创建CSS reset或normalize.css来消除浏览器默认样式差异,确保一致的跨浏览器渲染。
4. **PostCSS**:
- PostCSS 是一个工具,可以使用插件转换CSS,支持未来的CSS语法,添加供应商前缀,优化代码等。
- 通过处理CSS源码,PostCSS可以自动转换为浏览器兼容的样式,提高开发效率。
5. **JavaScript闭包**:
- 闭包是函数及其相关的变量组合,即使在其定义的外部也能访问这些变量。
- 闭包可以用来实现私有变量、函数记忆和数据封装等功能。
6. **原型链**:
- JavaScript中,对象继承是通过原型链机制实现的。
- 每个对象都有一个内部属性 `[[Prototype]]`,通常通过 `__proto__` 或 `Object.getPrototypeOf` 访问。
- 当试图访问对象的一个属性时,如果该对象上没有找到,就会查找其原型,直到找到属性或到达原型链的尽头。
7. **this**:
- `this` 关键字在JavaScript中表示当前执行上下文的对象,它的值取决于函数调用的位置和方式。
- 在不同环境中,如函数调用、方法调用、构造函数调用和箭头函数,`this` 的指向会有所不同。
8. **Webpack**:
- Webpack 是一个模块打包器,可以将各种资源(如JavaScript、CSS、图片等)视为模块,然后根据依赖关系进行编译和打包。
- 它使用加载器(loaders)转换不同类型的模块,使用插件(plugins)扩展功能,如优化、压缩和生成HTML文件等。
- Webpack 提供了配置文件(webpack.config.js),允许开发者自定义构建流程。
以上就是Markdown文件中提到的一些核心前端开发概念,它们对于理解前端开发流程和面试准备至关重要。
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
XiaoGuangWen
- 粉丝: 86
- 资源: 2
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫