1,JS为什么单线程?
主要的原因是它被用于浏览器操作,单线程可以避免线程同步问题,比如说一个线程删除节点,一个线程增加节点,这时它不是懵了。
2,如何实现异步?
人性化的回答就是 开启了一个异步任务,其实它没有占用线程,然后就直接执行后面的任务了,那这个异步任务什么时候执行呢,就是等回调函数什么时候会执行,或者说定时器设置了多久时间(如果时间到了线程还是忙碌的,依旧不会执行)
简单来说就是我有个朋友(线程),我叫他帮我带个饭(开启一个异步任务),他却打球去了,打完球回来才帮我带饭(回调完成异步任务)。