前端面试必备:CSS定位、JS原型链与Webpack解析

需积分: 5 0 下载量 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文件中提到的一些核心前端开发概念,它们对于理解前端开发流程和面试准备至关重要。