一、基础语法与数据类型
变量声明
使用 var(函数作用域)、let(块级作用域)和 const(常量)声明变量,理解变量提升与暂时性死区。
数据类型
分为基本类型(Undefined、Null、Boolean、Number、String、Symbol、BigInt)和引用类型(Object、Array、Function)。注意类型转换规则(如 == 与 === 的区别)。
运算符与控制流程
包括算术、比较、逻辑运算符,以及 if/else、switch、for/while 循环等流程控制语句。
二、函数与作用域
函数定义与调用
具名函数、匿名函数、箭头函数(ES6+)的区别,参数传递与返回值。
作用域与闭包
理解词法作用域、作用域链,闭包通过保留外部函数变量实现数据封装(如计数器、私有变量)。
高阶函数
函数作为参数或返回值,如 map、filter、reduce 等数组方法。
三、对象与原型链
对象创建
字面量声明、构造函数(new Object())、Object.create() 等方法。
原型与继承
通过 prototype 实现原型链继承,理解__proto__与构造函数的关系。
面向对象编程
类语法(ES6 的 class)、继承(extends)、静态方法等。
四、DOM 与 BOM 操作
DOM 操作
元素获取(getElementById、querySelector)、属性修改(innerHTML、classList)、事件监听(addEventListener)。
BOM 对象
操作浏览器窗口(window)、历史记录(history)、地址(location)等。
五、异步编程
回调与 Promise
处理异步任务(如 setTimeout、Ajax),解决回调地狱问题。
Async/Await
基于 Promise 的语法糖,使异步代码更易读。
事件循环机制
理解宏任务(script、setTimeout)与微任务(Promise)的执行顺序。
六、ES6+ 新特性
解构赋值:简化对象和数组的取值。
模板字符串:支持多行文本与变量插值。
模块化:import/export 管理代码依赖。
七、高级特性
垃圾回收
标记清除(主流)与引用计数机制,避免内存泄漏。
正则表达式
用于字符串匹配、替换与验证。
错误处理
try/catch 捕获异常,throw 自定义错误。
八、工具与最佳实践
调试工具:Chrome DevTools 断点调试。
代码规范:ESLint 检查代码质量,Prettier 统一格式。
性能优化:减少 DOM 操作、防抖节流、代码压缩。