为什么JavaScript是单线程? JavaScript的一大特点就是单线程, 同一时间只能做一件事情,主要和它的用途有关, JavaScript主要是控制和用户的交互以及操作DOM.注定它是单线程. 假如是多个线程, 一个移除DOM节点,一个新增DOM节点,浏览器以谁的为准呢? 什么是执执行栈呢? 函数的调用就会形成一个栈帧.当执行栈都为空的时候,主线程就会处于空闲状态. function fn2(x, y) { return x + y } function fn1(z) { let a…