管理瀏覽器中的javascript代碼是個(gè)棘手的問題,因?yàn)榇a執(zhí)行過程會(huì)阻塞瀏覽器的其他進(jìn)程,比如用戶界面繪制。每次遇到<script>標(biāo)簽,頁(yè)面都必須停下來等待代碼下載(如果是外鏈文件)并執(zhí)行,然后繼續(xù)處理其他部分。盡管如此,還是有幾種方法能減少javascript對(duì)性能的影響:
1. ? ?<body>閉合標(biāo)簽之前,將所有的<script>標(biāo)簽放到頁(yè)面底部。這能確保在腳本執(zhí)行錢頁(yè)面已經(jīng)完成了渲染
2. ? ?合并腳本。頁(yè)面中的<script>標(biāo)簽越少,加載也就越快,相應(yīng)也更迅速。無論外鏈文件還是內(nèi)嵌腳本都是如此
3. ? ?有多種無阻塞下載javascript的方法:
— 使用<script>標(biāo)簽的defer屬性
— 使用動(dòng)態(tài)創(chuàng)建的<script>元素來下載并執(zhí)行代碼
— 使用XHR對(duì)象下載javascript代碼并注入頁(yè)面中
通過以上策略,可以極大提高那些需要使用大量javascript的WEB應(yīng)用的實(shí)際性能;