同步指代码按顺序执行,前一个任务未完成时后一个任务需等待。JavaScript是单线程语言,同步操作依次执行,如变量赋值、函数调用等;若某操作耗时长,程序会阻塞,导致界面无响应,例如使用alert()或执行大量循环时会阻塞后续代码。

在JavaScript中,同步可以理解为“按顺序执行,前一个任务没完成,后一个任务就等着”。也就是说,代码一行一行地执行,当前面的代码没有执行完时,后面的代码不会开始执行。
同步执行的特点
JavaScript是一门单线程语言,这意味着它在同一时间只能做一件事。在同步模式下:
- 代码从上到下依次执行,顺序明确
- 每个操作必须等到前一个操作完成后才能开始
- 如果某个操作耗时很长(比如大量计算或读取大文件),整个程序会卡住,用户界面也可能无响应
console.log("第一步");
console.log("第二步");
console.log("第三步");
输出结果一定是:第一步 → 第二步 → 第三步。这就是典型的同步行为。
常见的同步操作场景
虽然JavaScript广泛使用异步处理(如网络请求、定时器),但同步操作依然常见:
- 变量赋值、数学运算、字符串处理等基本操作都是同步的
- 函数调用,如果函数内部没有异步逻辑,也是同步执行
- 某些API设计成同步的,比如传统的
alert()弹窗,会阻塞后续代码直到用户点击确定
同步与阻塞的关系
同步不等于“不好”,但在浏览器环境中,长时间的同步任务会导致页面“卡死”。比如写一个巨大的循环:
for (let i = 0; i < 1e10; i++) {
// 做一些事
}
console.log("这行要等很久才会执行");
这个循环是同步且阻塞的,期间用户无法点击按钮、滚动页面等。
基本上就这些。同步是JS最基础的执行方式,理解它有助于更好地掌握异步编程的意义——为了不让程序被长任务卡住。










