一、异步?
(首先我们得先弄清楚以下几个知识点:)
1、单线程和异步
A、JS是单线程语言,只能同时做一件事
B、浏览器和 nodejs 已支持 JS 启动进程,如 Web Worker
C、JS 和 DOM 渲染共用一个线程,因为 JS 可修改 DOM 结构
D、遇到等待(网络请求,定时任务)不能卡主,所以需要异步
E、异步是基于 callback 回调函数实现的
// 异步
console.log(100);
setTimeout(() => {
console.log(200);
}, 1000); // 不会阻塞代码执行
console.log(300);
// 同步
console.log(100);
alert(200); // 会阻塞代码执行
console.log(300);
因此可以得知: