对于这个问题我也一直处于半懂不懂状态中,今天读了阮一峰老师的讲解,恍然大悟啊!
附上阮一峰老师的博客~
http://www.ruanyifeng.com/blog/2014/10/event-loop.html
下面是我自己理解了!
一、单线程
JS是单线程,这句话没错。但更确切的说JS只有一个主线程,但是其实他还有一些其他线程的,当然所有函数任务只可以在主线程执行。
这样命名很不方便?为什么要这样设计?这事有一定原因的。
JS作为浏览器的脚本于是,其最根本的作用就是实现用户与浏览器的交互行为,当一个用户要删除一个A,又同时向A中添加内容的时候,若是多线程,应该怎么样去处理?没有办法处理,若是单线程就很简单了,用户先执行那个操作,我们主线程就进行哪一个,不会出现任何冲突!
二、异步
JS明明单线程,但又同时可进行异步操作,这两者不是完全相反的嘛?
没错,JS是单线程&#