JavaScript这门语言有很多特点,其中一个很大的特点就是:单线程。
单线程是什么意思呢?
同一时间只能做一件事。
我们都知道,其实很多语言都是多线程的,那么为什么js是单线程的呢?
这其实是js这门脚本语言诞生的使命所致的:
js为什么而诞生?
它主要是为了处理页面中用户的交互以及操作dom而诞生的,所以是“单线程”也就可以理解了。
比方说,我们现在要对一个dom元素进行添加和删除操作,这两个操作肯定是不能同时进行的呀,应该先进行添加操作,再进行删除操作。
单线程意味着什么?
所有任务必须得排队。前一个任务结束了,才会执行下一个任务。
这就会导致一个问题:如果js执行的时间过长,就会导致页面渲染不连贯、页面加载阻塞。