JavaScript 字符串补位

✏️ Editable
Loading...
Live Preview
+Enter Run+R Reset

About This Exercise

当你打印列表时,经常会遇到这样的问题:同一列长短不齐,看起来很乱。

ES8 的字符串补位方法可以快速解决:

  • padStart:左侧补齐(常用于编号补零)
  • padEnd:右侧补齐(常用于文本对齐)

这一关你会做出一条格式统一的“报表行”。

Beginner⏱ 15-20 min

Learning Objectives

  • 理解 padStart / padEnd 的方向和用途
  • 掌握数字编号补零的常见写法
  • 能输出固定宽度的文本行

Scenario

你要给学习平台做一个“简易控制台报表”: 左边是订单/课程编号,右边是名称。输出必须整齐,方便老师快速扫读。

Why Do This

  • Frontend JS is not just about knowing the syntax — the key is reliably manipulating the DOM and managing interaction state.
  • Break down the event flow (trigger -> handle -> update UI) before coding, and you will make significantly fewer errors.
  • Rule-based validation helps you develop a testable frontend mindset.

Hands-on Practice

  • Write out the event flow in comments first, then implement the functions.
  • Add an edge case branch for invalid input or empty data.
  • Explain why each validation rule is needed.

Common Mistakes

  • Only testing the happy path without verifying edge inputs or repeated clicks.
  • Mixing event binding and state updates together, making future maintenance difficult.
  • Console output looks correct but the UI is not actually updated.

Deliverable

A reusable interaction component scaffold (event flow description + key functions + edge case handling).

My Progress

Completed Steps0 / 3
Total Attempts0
Best Score0%

Completion Criteria (Checkable)

Confirm before completing this Lab

Reflection Questions (Recommended)

Describe the event flow of this Lab in 2-3 sentences (trigger -> handle -> update).

What edge case did you add? Why is it easy to miss?

How confident are you with this interaction pattern now?

Tags

JavaScriptES8StringpadStartpadEnd
Progress 0/39
0%
Learning Path Guide
Complete exercises from top to bottom. Start from #01 and finish the current stage before moving on.
Current stage goal: Build reusable data processing skills with objects and arrays
Stage 1 - Syntax Foundation0/10
From variables and functions to ES6 template syntax, build a solid foundation
01
JavaScript 变量与数据类型
Beginner
02
JavaScript let/const 作用域
Beginner
03
JavaScript 运算符
Beginner
04
JavaScript 条件语句
Beginner
05
JavaScript 循环
Beginner
06
JavaScript 函数
Beginner
07
JavaScript 箭头函数
Beginner
08
JavaScript 默认参数
Beginner
09
JavaScript 模板字符串
Beginner
10
JavaScript 解构赋值
Beginner
Stage 2 - Modern Syntax0/10
Master common ES6+ patterns to improve code expressiveness
11
JavaScript 展开与剩余参数
Intermediate
12
JavaScript 对象字面量增强
Beginner
13
JavaScript Class 基础
Intermediate
14
JavaScript 迭代器与生成器
Intermediate
15
JavaScript 防抖与节流
Intermediate
16
JavaScript 模块模式
Intermediate
17
JavaScript 发布订阅模式
Intermediate
18
JavaScript 状态机模式
Intermediate
19
JavaScript 记忆化缓存
Intermediate
20
JavaScript 不可变数据更新
Beginner
Stage 3 - Data Processing0/12
Build reusable data processing skills with objects and arrays
21
JavaScript ES7 特性
Beginner
22
JavaScript includes 方法
Beginner
23
JavaScript 指数运算符
Beginner
24
JavaScript ES8 对象工具
Intermediate
25
JavaScript 字符串补位
Beginner
26
JavaScript Async/Await 模式
Intermediate
27
JavaScript 字符串方法
Beginner
28
JavaScript 数组
Beginner
29
JavaScript 对象
Beginner
30
JavaScript 数组高阶方法
Beginner
31
JavaScript Set 与 Map
Beginner
32
JavaScript 实用算法函数
Intermediate
Stage 4 - DOM Interaction0/2
Apply syntax to real page interaction scenarios
33
JavaScript DOM 操作基础
Beginner
34
JavaScript 事件处理
Beginner
Stage 5 - Async & Robustness0/5
Complete the Promise/async and error handling loop
35
JavaScript 异步编程
Beginner
36
JavaScript Promise 并发
Intermediate
37
JavaScript 异步循环模式
Intermediate
38
JavaScript 可选链与空值合并
Beginner
39
JavaScript 错误处理
Beginner