高频考点
高频考点
简版速记
面试前 5 分钟快速过一遍的核心结论,详细推导见后文各章节。
- 类型判断:
typeof只能区分原始类型(null例外,返回'object')与函数;引用类型用instanceof(看原型链)或Object.prototype.toString.call(x)(最稳,返回[object Type])。 ==vs===:==会做隐式类型转换(按规则把两边转成可比较类型),===不转、类型不同直接false。除判断null/undefined外一律用===。- 闭包:函数捕获并保留其词法作用域中的变量;经典坑是
for循环里var+setTimeout,用let或 IIFE 解决。 - 深浅拷贝:浅拷贝(
Object.assign、{...obj})只复制第一层;深拷贝可用JSON.parse(JSON.stringify())(丢函数/undefined/symbol、不支持循环引用),完整方案用structuredClone()或递归。 - 原型链:对象
__proto__→ 构造函数prototype→ … →Object.prototype→null,查找属性沿链向上。 var/let/const:var有变量提升、挂window、函数作用域;let/const块级作用域、有暂时性死区;const声明后不可重新赋值(但对象内部可变)。- Event Loop:同步任务 → 清空微任务队列(
Promise.then、queueMicrotask、MutationObserver)→ 取一个宏任务(setTimeout、I/O、setInterval)→ 再清微任务,循环往复。 - 手写:
call/apply/bind(改this+ 传参)、new(建对象、连原型、执行构造、返回对象)、instanceof(顺原型链找prototype)、Promise(三状态 + 回调队列)。 0.1 + 0.2 !== 0.3:IEEE 754 双精度浮点精度问题,比较用Math.abs(a-b) < Number.EPSILON。- 事件机制:捕获 → 目标 → 冒泡三阶段;
addEventListener第三参true为捕获;事件委托靠冒泡 +event.target提升性能。 - 跨域:同源策略限制;解决方案 CORS(主流)、JSONP(仅 GET)、代理、
postMessage、document.domain(已废弃)。 - 存储:
cookie(约 4KB、随请求携带)、localStorage/sessionStorage(约 5MB、不参与请求)、IndexedDB(大容量、异步)。 - 浏览器缓存:强缓存(
Cache-Control优先于Expires)→ 协商缓存(ETag/If-None-Match优先于Last-Modified/If-Modified-Since,命中返回 304)。 - 渲染原理:解析 HTML→DOM、CSS→CSSOM → 合成 Render Tree → Layout(重排)→ Paint(重绘)→ Composite;减少重排重绘是性能关键。
- 安全:XSS(转义输出 + CSP + HttpOnly Cookie)、CSRF(SameSite Cookie + Token 校验)。
- 网络:TCP 三次握手、四次挥手、可靠有序;UDP 无连接、快但不可靠。HTTP/2 多路复用 + 二进制分帧 + 头压缩(HPACK)+ 服务端推送;HTTP/3 基于 QUIC(UDP)解决 TCP 队头阻塞。
- 框架:Vue 响应式(
Object.defineProperty/ Vue3Proxy)、虚拟 DOM + diff;React 单向数据流、Fiber、Hooks 闭包陷阱、key的作用。
目录
- 1 typeof类型判断
- 2 类型转换
- 3 This
- 4 == 和 === 有什么区别
- 5 闭包
- 6 深浅拷贝
- 7 原型
- 8 var、let 及 const 区别
- 9 原型继承和 Class 继承
- 10 模块化
- 11 实现一个简洁版的promise
- 12 Event Loop
- 13 手写 call、apply 及 bind 函数
- 14 new
- 15 instanceof 的原理
- 16 为什么 0.1 + 0.2 != 0.3
- 17 事件机制
- 18 跨域
- 19 存储
- 20 浏览器缓存机制
- 21 浏览器渲染原理
- 22 安全防范
- 23 从 V8 中看 JS 性能优化
- 24 性能优化
- 25 Webpack 性能优化
- 26 实现小型打包工具
- 27 MVVM/虚拟DOM/前端路由
- 28 Vue常考知识点
- 29 React常考知识点
- 30 监控
- 31 TCP/UDP
- 32 HTTP/TLS
- 33 HTTP2.0
- 34 设计模式
- 35 常见数据结构
- 36 常考算法题解析
- 37 css常考面试题解析
