第四十一关:时间管理大师

任务目标:理解同步 (Synchronous) vs 异步 (Asynchronous)

🦸‍♂️

JS 队长

默认情况下,JS 是同步的,也就是“一根筋”。

它必须做完前一件事,才能做后一件事。如果前一件事卡住了(比如煮饭要 30 分钟),整个世界都会停下来等你!

⏳ 异步 (Asynchronous)

🐛

巴格

那我煮饭的时候不能去切菜吗?

JS 队长

当然可以!这就是异步

你可以把耗时的任务(比如 setTimeout 或网络请求)扔给浏览器去后台处理,自己继续往下执行代码。

🦸‍♂️

📞 回调函数 (Callback)

怎么知道饭煮好了呢?你需要留一个电话号码(回调函数)给电饭煲。

console.log("1. 开始煮饭"); setTimeout(function() { console.log("3. 饭煮好了!(叮!)"); }, 3000); // 3秒后回调 console.log("2. 去切菜");

输出顺序是:1 -> 2 -> 3。这就是异步!

🎮 任务:耐心测试

点击按钮,等待 2 秒钟,看看会发生什么。

准备就绪...