JavaScript不是多线程的,显然JavaScript甚至没有自己的,但是与其他东西共享一个线程.即使在大多数现代浏览器中,JavaScript通常与绘画,更新样式和处理用户操作位于同一队列中.
这是为什么?
根据我的经验,如果JavaScript在自己的线程上运行,可以获得极大改善的用户体验,单独通过JS不阻止UI呈现或解放复杂或有限的消息队列优化样板(是的,也是你,webworkers!),开发人员已经写它自己以保持UI在整个地方的响应,当它真正归结为它.
我有兴趣理解控制这种看似不幸的设计决策的动机,从软件架构的角度来看,有一个令人信服的理由吗?
哪些DOM元素属性可以导致浏览器执行重排操作?
innerHTMLoffsetParentstylescrollTop