前端八股文

429 阅读2分钟

前端八股文通常是指在前端开发面试中频繁出现的一些重点知识问题。

HTML相关

  • 语义化标签:像  、  、  等标签,使代码结构清晰,便于搜索引擎优化(SEO)和代码维护。例如,  标签用于表示独立的文章内容。
  • HTML5新特性:包括新的语义化标签、本地存储( localStorage 和 sessionStorage )、 canvas 绘图、 video 和 audio 标签用于媒体播放等。

CSS相关

  • 盒模型:有标准盒模型( content-box )和IE盒模型( border-box )。标准盒模型下,元素的宽高只包含内容部分;IE盒模型下,元素的宽高包含内容、内边距和边框。
  • 选择器优先级:内联样式 > ID选择器 > 类选择器、属性选择器和伪类选择器 > 元素选择器和伪元素选择器。计算时可以用权值来判断,如内联样式权值为1000,ID选择器为100等。
  • CSS布局方式:
  • 浮动布局(float):可以让元素向左或向右浮动,实现多列布局,但容易造成父元素高度塌陷的问题。
  • 弹性布局(flex):通过设置容器的 display: flex ,可以方便地控制子元素的排列方向、对齐方式等。比如, justify-content 属性可以控制子元素在主轴上的对齐方式。
  • 网格布局(grid):能够将页面划分为多个网格区域,通过定义行和列来放置元素,布局更灵活。

JavaScript相关

  • 数据类型:基本数据类型有 Number 、 String 、 Boolean 、 null 、 undefined 、 Symbol (ES6新增);引用数据类型有 Object 、 Array 、 Function 等。
  • 闭包:函数和其词法环境的组合。例如,在一个函数内部返回另一个函数,内部函数引用了外部函数的变量,这个内部函数就是闭包。闭包可以用来实现数据的私有性。
  • 原型和原型链:每个对象都有一个原型对象,通过 proto 属性来访问。当访问一个对象的属性或方法时,如果在自身找不到,就会沿着原型链向上查找,直到找到或者到达原型链顶端( Object.prototype )。
  • 异步编程:
  • 回调函数:把一个函数作为参数传递给另一个函数,在某个操作完成后执行。但是容易出现回调地狱的问题。
  • Promise:用于解决回调地狱,它有 pending 、 fulfilled (resolved)和 rejected 三种状态,可以通过 .then() 和 .catch() 方法来处理成功和失败的情况。
  • async/await:基于Promise的语法糖,让异步代码看起来更像同步代码,提高代码的可读性。