js的单线程模型与游览器的进程/线程息息相关,在了解js单线程与异步的时候,建议先看看这篇文章 为什么是单线程 由于js是可操作dom的,如果js是多线程,在多线程的交互下,处于界面中的dom节点就可能成为一个临界资源. 这个时候,如果两个线程同时操作一个dom,一个负责修改,一个负责删除,这时就会出现问题. 虽然可以通过锁来解决上面的问题,但为了避免因为引入了锁而带来更大的复杂性,js在最初就选择了单线程. 为什么需要异步 由于js是可操纵dom的,如果在修改这些dom的同时渲染界面(即js线…