JavaScript的運行機制

爲何是單線程?

單線程便是同一時間只能作一件事,爲何JavaScript不能有多個線程?瀏覽器

JavaScript的主要做用是與用戶互動,及操做dom。這決定了它只能是單線程,不然會帶來很複雜的問題。
假設兩個線程,一個線程在某個DOM節點上添加內容,另外一個線程刪除這個節點,這時瀏覽器應該以誰爲準?
儘管爲了利用多核CPU的計算能力,HTML5提出Web Worker標準,容許JavaScript建立多個線程,可是子線程
徹底受主線程控制,且不得操做DOM。因此,新標準仍然沒有改變JavaScript單線程的本質。dom

事件循環機制

相關文章
相關標籤/搜索