js 事件执行机制

为什么js是单线程?

js 作为主要运行在浏览器的脚本语言,js 主要用途是与用户互动以及操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题。

假设如果js同时有两个线程,一个线程在某个DOM上添加内容,另一个线程删除了这个节点,这时浏览器应该听哪个线程的,如何判断优先级?
为了避免这种问题,js必须是一门单线程语言,并且在未来这个特点也不会改变。

 

 

同步任务和异步任务

event loop(事件循环)

宏任务和微任务

 

 

posted @ 2023-02-28 23:41  威少  阅读(17)  评论(0编辑  收藏  举报