logo

⚡ JavaScript 实战练习

从语法到异步,按阶段完成 11 个练习。每个练习都可立即运行并获得验证反馈。

开始你的 JavaScript 之旅

从变量到异步编程,系统学习 JS 核心概念

39
练习总数
26
入门级
13
中高级

如何高效通关 JavaScript Lab

建议按顺序完成练习,每题先独立尝试,再用提示和解法复盘。这样更容易形成可迁移能力。

推荐学习路径

先打牢语法,再强化数据处理,最后完成 DOM + 异步。每阶段结束都做一次自检,确保能迁移到真实项目。

Stage 1

语法与控制流

  • 变量、运算符、条件、循环、函数
  • 目标:写出可复用的小函数
Stage 2

数据结构与表达

  • 字符串、数组、对象
  • 目标:从数据中提取信息并生成结果
Stage 3

页面交互与异步

  • DOM、事件、Promise、async/await
  • 目标:实现真实交互流程

通关标准

  • 每个练习至少通过一次全部步骤
  • 能不看答案复写核心代码
  • 能解释为什么这样写(而不仅是跑通)

常见问题

  • 把变量声明混用:先统一用 const / let,再考虑重构
  • 只关注结果不关注边界:补充空值和异常分支
  • 异步代码漏掉 await:先写清调用链,再逐步调试
JavaScript入门

JavaScript 变量与数据类型

面向零基础:先理解“变量是什么”,再学会声明字符串、数字、布尔值并打印结果。

15-20 min3 个步骤
JavaScript入门

JavaScript let/const 作用域

面向初学者理解 let/const:变量为什么会“作用域错乱”,以及如何避免。

15-20 min3 个步骤
JavaScript入门

JavaScript 运算符

从“加减乘除”到“条件判断”,用学生熟悉的例子理解运算符。

15-20 min3 个步骤
JavaScript入门

JavaScript 条件语句

面向新手:先学会“程序如何做决定”,再练 if/else 与三元表达式。

15-20 min3 个步骤
JavaScript入门

JavaScript 循环

从“重复做一件事”出发,理解 for/forEach/map 在新手任务中的区别。

20-25 min3 个步骤
JavaScript入门

JavaScript 函数

新手必修:把“重复逻辑”封装成函数,理解参数输入与返回输出。

20-25 min3 个步骤
JavaScript入门

JavaScript 箭头函数

给已会基础函数的新手做升级:把 function 写法迁移到箭头函数。

15-20 min3 个步骤
JavaScript入门

JavaScript 默认参数

面向新手理解“不给参数也能跑”的写法,提升函数稳定性。

15-20 min3 个步骤
JavaScript入门

JavaScript 模板字符串

从“字符串拼接很乱”出发,教新手用模板字符串写出更清晰文案。

15-20 min3 个步骤
JavaScript入门

JavaScript 解构赋值

把“从对象/数组里取值”这件事简化成一行,适合新手进阶 ES6。

20-25 min3 个步骤
JavaScript中级

JavaScript 展开与剩余参数

用“合并数组”和“不定参数求和”两个新手常见任务理解 ... 的两种角色。

20-25 min3 个步骤
JavaScript入门

JavaScript 对象字面量增强

把 ES6 对象语法写清楚:减少重复代码、支持动态 key,让对象构建更直观、更少拼写错误。

15-20 min3 个步骤
JavaScript中级

JavaScript Class 基础

先把 class 当作“对象工厂”,再理解 constructor 和方法的分工。

20-25 min3 个步骤
JavaScript中级

JavaScript 迭代器与生成器

把 generator 从抽象语法变成可操作工具:按需产出序列、筛选序列、生成步长序列。

20-25 min3 个步骤
JavaScript中级

JavaScript 防抖与节流

通过搜索框和滚动加载两个真实场景,理解“什么时候用防抖、什么时候用节流”,避免只背概念。

25-30 min3 个步骤
JavaScript中级

JavaScript 模块模式

用学生能理解的方式学习封装:为什么要隐藏内部变量、如何只暴露必要 API、怎样避免全局污染。

20-25 min3 个步骤
JavaScript中级

JavaScript 发布订阅模式

把“模块之间怎么通信”讲清楚:A 只发事件、B 负责监听,降低耦合并提升可维护性。

25-30 min3 个步骤
JavaScript中级

JavaScript 状态机模式

把流程控制写成可读规则:状态 + 事件 -> 下一状态,避免流程乱跳,提升可维护性。

25-30 min3 个步骤
JavaScript中级

JavaScript 记忆化缓存

从学生视角理解记忆化:当输入重复时不必重复计算,学会用 Map 做缓存并计算命中率。

20-25 min3 个步骤
JavaScript入门

JavaScript 不可变数据更新

以学生视角掌握不可变更新:数组追加、对象改字段、列表项切换,避免副作用导致状态错乱。

20-25 min3 个步骤
JavaScript入门

JavaScript ES7 特性

面向初学者:先学会“是否包含”的判断,再学会用 ** 做平方/立方,建立 ES7 的第一套实战语法感。

15-20 min3 个步骤
JavaScript入门

JavaScript includes 方法

面向零基础:一步步学会数组 includes 与字符串 includes,理解“命中判断”在搜索、筛选里的真实用途。

12-18 min3 个步骤
JavaScript入门

JavaScript 指数运算符

面向初学者:从平方/立方开始,逐步理解 ** 和 **=,学会把公式需求转成可运行代码。

12-18 min3 个步骤
JavaScript中级

JavaScript ES8 对象工具

从学生视角理解“对象转数组再转回对象”的核心流程,掌握 ES8 对象工具在统计与筛选中的用法。

20-25 min3 个步骤
JavaScript入门

JavaScript 字符串补位

从“看起来乱”到“整齐可读”:学习 padStart/padEnd,让编号和名称在控制台或表格文本中对齐。

15-20 min3 个步骤
JavaScript中级

JavaScript Async/Await 模式

以学生视角学习 async/await:先拿到单个异步结果,再做并发加载,最后学会失败兜底,理解前端真实请求流程。

20-25 min3 个步骤
JavaScript入门

JavaScript 字符串方法

面向初学者:学习字符串大小写处理、模板字符串拼接和包含判断,建立文本处理的基础能力。

15-20 min3 个步骤
JavaScript入门

JavaScript 数组

面向新手:理解数组为什么是前端高频数据结构,并通过创建、筛选、查找三个步骤建立数组思维。

20-25 min3 个步骤
JavaScript入门

JavaScript 对象

从学生视角理解对象:先存用户信息,再解构读取,再合并对象,建立“现实实体 -> 代码对象”的映射思维。

20-25 min3 个步骤
JavaScript入门

JavaScript 数组高阶方法

从学生视角掌握数组高阶方法:先筛选再提取、再做汇总、最后做条件判断,形成前端数据处理通用套路。

25-30 min3 个步骤
JavaScript入门

JavaScript Set 与 Map

从学生视角掌握 ES6 集合:先用 Set 去重,再用 Map 建字典查询,理解它们和数组/对象的区别。

20-25 min3 个步骤
JavaScript中级

JavaScript 实用算法函数

从业务角度学习常见算法工具:去重排序、词频统计、榜单求和,建立可复用函数思维。

20-25 min3 个步骤
JavaScript入门

JavaScript DOM 操作基础

面向初学者:学习如何选中页面元素并修改文字、样式、class,理解 JavaScript 如何真实影响页面显示。

25-30 min3 个步骤
JavaScript入门

JavaScript 事件处理

从零理解事件驱动:点击、输入、提交分别怎么监听,如何把用户动作变成页面变化。

25-30 min3 个步骤
JavaScript入门

JavaScript 异步编程

面向新手:先理解“为什么要异步”,再一步步写 delay、await 和 try/catch,掌握前端请求最常见的代码骨架。

25-30 min3 个步骤
JavaScript中级

JavaScript Promise 并发

以学生视角学习 Promise.all:从两个异步值并发获取开始,逐步完成拼接和汇总,理解为什么并发通常比串行更高效。

25-30 min3 个步骤
JavaScript中级

JavaScript 异步循环模式

用学生能跟上的方式理解异步循环:先写单个 async 转换,再用 Promise.all 批量处理,最后做结果汇总。

25-30 min3 个步骤
JavaScript入门

JavaScript 可选链与空值合并

面向初学者:解决“字段缺失就报错”的常见问题,学会 ?. 安全访问与 ?? 默认值兜底。

20-25 min3 个步骤
JavaScript入门

JavaScript 错误处理

从学生角度理解 try/catch 和边界校验:输入不可信时如何给出安全返回,保证页面稳定运行。

20-25 min3 个步骤