- 所有的事件绑定都是异步编程 xxx.onclick=function(){}
- 所有的定时器都是异步编程 setTimeout(function(){},1000)
- AJAX中一般都使用异步编程处理
- 回调函数也算是异步编程
- 浏览器是多线程的,JS是单线程的(浏览器只给JS执行分配一个线程):单线程的特点就是一次只能处理一件事情
- 进程:每一个应用程序都可以理解为一个进程(浏览器打开一个页面,就相当于开辟一个进程), 在一个程序中(进程中)我们经常会同时干很多事情,此时我们可以分配多个线程去同时完成多项任务
- JS在单线程中实现异步的机制,主要依赖于浏览器的任务队列完成的。浏览器中有两个任务队列(主任务队列、等待任务队列)
