新聞中心
這篇文章主要為大家展示了“JS會(huì)阻塞頁(yè)面嗎”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JS會(huì)阻塞頁(yè)面嗎”這篇文章吧。
成都創(chuàng)新互聯(lián)專(zhuān)注于古縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。古縣網(wǎng)站建設(shè)公司,為古縣等地區(qū)提供建站服務(wù)。全流程定制開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
JS會(huì)阻塞頁(yè)面嗎?
先上結(jié)論
JS會(huì)阻塞DOM的解析,因此也就會(huì)阻塞頁(yè)面的加載
這也是為什么我們常說(shuō)要把JS文件放在最下面的原因
由于 JavaScript 是可操縱 DOM 的,如果在修改這些元素屬性同時(shí)渲染界面(即 JavaScript 線程和 UI 線程同時(shí)運(yùn)行),那么渲染線程前后獲得的元素?cái)?shù)據(jù)就可能不一致了。
因此為了防止渲染出現(xiàn)不可預(yù)期的結(jié)果,瀏覽器設(shè)置 **「GUI 渲染線程與 JavaScript 引擎為互斥」**的關(guān)系。
當(dāng) JavaScript 引擎執(zhí)行時(shí) GUI 線程會(huì)被掛起,GUI 更新會(huì)被保存在一個(gè)隊(duì)列中等到引擎線程空閑時(shí)立即被執(zhí)行。
當(dāng)瀏覽器在執(zhí)行 JavaScript 程序的時(shí)候,GUI 渲染線程會(huì)被保存在一個(gè)隊(duì)列中,直到 JS 程序執(zhí)行完成,才會(huì)接著執(zhí)行。
因此如果 JS 執(zhí)行的時(shí)間過(guò)長(zhǎng),這樣就會(huì)造成頁(yè)面的渲染不連貫,導(dǎo)致頁(yè)面渲染加載阻塞的感覺(jué)。
以上是“JS會(huì)阻塞頁(yè)面嗎”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文名稱(chēng):JS會(huì)阻塞頁(yè)面嗎
本文地址:http://fisionsoft.com.cn/article/jjojgh.html