国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

HTML中最熟悉的陌生人:<script>標簽必知必會

freeflydom
2025年4月12日 9:24 本文熱度 389

<script>標簽用于在HTML中引入js,本文主要討論三方面:

  1. script標簽在不同位置引入的區別(如在head引入和在body引入,在body開頭與最后引入)
  2. script標簽的三種引入方式(default,async,defer),
  3. script標簽模塊化(type='module')

加載與執行的區別

腳本的加載(Loading)與執行(Execution)是兩個獨立的概念,它們的行為和影響因素不同,理解這一點對我們后面的討論至關重要.

  • 加載: 瀏覽器從服務器獲取腳本文件(如 script.js)的過程,涉及網絡請求和資源下載。
  • 執行: 瀏覽器解析并運行腳本中的 JavaScript 代碼。

引入位置區別

<head> 中引入或在<body>最開始引入

  • 瀏覽器會暫停 HTML 解析,立即加載并執行腳本,執行完成后才繼續解析 DOM。

  • 若腳本體積大或網絡慢,會導致頁面渲染阻塞(白屏時間長)。

  • 如果腳本嘗試操作 DOM(如 document.getElementById),可能因為 DOM 還未解析而找不到元素,導致錯誤。

  • 適用場景

    • 需要盡早執行不依賴 DOM 的腳本(如某些性能監控、日志上報代碼)。
    • 一般不推薦,除非有特殊需求。

<body> 底部引入:

  • 不阻塞 DOM 解析,瀏覽器會先解析完整的 HTML,最后再加載和執行腳本,不會影響頁面渲染速度。用戶能更快看到頁面內容(減少 FCP,First Contentful Paint)。

  • 腳本執行時 DOM 已就緒,腳本運行時,整個 DOM 已經解析完成,可以安全操作 DOM 元素,無需等待 DOMContentLoaded 事件。

  • 適用場景

    • 推薦的經典做法,適用于大多數情況,特別是依賴 DOM 的腳本(如交互邏輯、初始化組件)。
    • 如果腳本較大,仍可能影響 DOMContentLoaded 事件觸發時間。

三種引入

默認引入

遵循多個腳本按書寫順序依次加載并執行的原則。

defer

<script src="script.js" defer></script>
  • 行為

    • 腳本異步加載(不阻塞 HTML 解析),但會延遲到 DOM 解析完成后、DOMContentLoaded 事件前按順序執行。
    • 適用于需要操作 DOM 或依賴其他腳本的場景。
  • 特點

    • 保證腳本的執行順序(與書寫順序一致)。
    • 天然支持“等 DOM 就緒”,類似 DOMContentLoaded

async

<script src="script.js" async></script>
  • 行為

    • 腳本異步加載(不阻塞 HTML 解析),加載完成后立即執行(可能中斷 HTML 解析)。
    • 適用于獨立腳本(如統計代碼、第三方 SDK)。
  • 特點

    • 不保證執行順序(誰先加載完誰先執行)。
    • 不適合操作 DOM 的腳本(可能 DOM 還未解析完)。

模塊化type="module"

<script type="module" src="module.js"></script>
  • 場景

    • 你的代碼需要按模塊化拆分,通過 import 引入其他模塊或通過 export 暴露功能。

      <script type="module">
        import { utils } from './utils.js';
        import Component from './Component.js';
      </script>
      
  • 行為

    • 避免全局變量污染,依賴關系清晰,適合大型項目。
    • 默認具有 defer 行為(異步加載,DOM 解析后執行)。
    • 若顯式添加 async(如 <script type="module" async>),則行為類似 async
  • 特點

    • 支持 ES6 模塊語法(import/export)。
    • 自動啟用嚴格模式。
    • 模塊腳本默認延遲執行,且按依賴關系順序執行

?轉自https://juejin.cn/post/7491601352746680383


該文章在 2025/4/12 9:24:04 編輯過
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 女人色极品影院 | 18禁午夜福利a级污黄刺激 | 高辣H文黄暴糙汉文H文 | 苍井空大尺寸视频大全在线观看 | 亚洲AV国产国产久青草 | 精品无码一区二区三区亚洲桃色 | 国产成人av免费网址 | 国产免费高清视频青女在线 | a级毛片毛片免费观看久潮喷 | 国产乱了真实在线观看 | 中文字幕久久人妻一区二区三区 | 亚洲一线高清精品在线观看 | 2025果冻传媒剧情在线 | 国产成人综合色视频精品 | 97久久久久人妻精品专区 | 三级片瑞典黑枪操小穴视频在线 | 国产午夜无码精品免费看动漫 | 女人色熟女乱 | 亚洲妇女自偷自偷在线播放 | 进去粗粗硬硬紧紧的好爽免费视频 | 无码三级在线看中文字幕完整版 | 精品人妻一区二区A片 | 国产一级a毛一级a看免费视频 | 婷婷人人爽人人爽人人A片 婷婷色九月综合激情丁香 婷婷色婷婷开心五月四房播播 | 国产麻豆剧果冻传媒免费高清在线全集电影手机免费观看 | 另类制服丝袜国产亚洲第一页 | 国产日韩美欧乱伦一区 | 国产亚洲精品精华液 | 国产欧美日韩在线一区二区不卡 | 人妻丰满熟妇av无码区hd | 亚洲午夜久久久久久91 | 亚洲欧美日韩在线综合第 | 无码视频在线观看视频 | 久久久久久国产精品免费无码 | 午夜视频免费在线观看 | WWW久久只有这里有精品 | 免费无码又爽又黄又刺激网站 | 国产成人高清精品免费软件 | 精品人妻系列无码人妻免费视 | 精品无码国产一区二区三区51安 | 91精品国产综合久久久亚洲日韩 |