script标签讲解

<script> 标签在 HTML 中用于定义客户端的脚本,通常是 JavaScript。它允许你直接在 HTML 文档中嵌入 JavaScript 代码,或者引用外部的 JavaScript 文件。以下是 <script> 标签的一些基本功能、语法和使用方法:

功能:

  1. 嵌入 JavaScript 代码:直接在 HTML 文档中写入 JavaScript 代码。
  2. 引用外部 JavaScript 文件:通过指定外部文件的 URL 来引入 JavaScript 代码。
  3. 控制脚本的执行时机:通过不同的属性控制脚本的加载和执行时机。

语法:

基本的 <script> 标签语法如下:

html 复制代码
<script>
  // 这里写入 JavaScript 代码
</script>

或者引用外部脚本文件:

html 复制代码
<script src="path/to/your-script.js"></script>

属性:

  • src:指定外部脚本文件的 URL。
  • type:指定脚本的 MIME 类型。对于 JavaScript,默认类型是 text/javascript,但通常可以省略这个属性。
  • async:表示脚本将异步加载,即在加载文档的其余部分时并行下载脚本,但不会阻塞 HTML 的解析。脚本一旦下载完成就会执行,可能在文档解析完成之前。
  • defer:表示脚本将在文档解析完成后,DOMContentLoaded 事件触发前执行。对于需要在 DOM 完全加载后执行的脚本很有用。
  • charset:指定脚本文件的字符集。
  • crossorigin:指定是否应该使用 CORS 来请求外部脚本。

使用方法:

  1. 直接嵌入 JavaScript 代码:
html 复制代码
<script>
  function sayHello() {
    alert('Hello, World!');
  }
  sayHello();
</script>
  1. 引用外部 JavaScript 文件:
html 复制代码
<script src="https://example.com/script.js"></script>
  1. 使用 async 或 defer:
html 复制代码
<!-- 异步加载 -->
<script src="script1.js" async></script>
<script src="script2.js" async></script>

<!-- 延迟加载 -->
<script src="script1.js" defer></script>
<script src="script2.js" defer></script>

注意事项:

  • 将 <script> 标签放在文档的 <head> 中可以避免渲染阻塞,但脚本执行可能会阻塞解析。
  • 将 <script> 标签放在文档的底部,即 </body> 标签之前,可以确保在脚本执行前整个页面已经加载,但可能会导致页面渲染的延迟。
  • 使用 async 或 defer 属性可以改善页面加载性能,尤其是对于大型脚本或需要异步加载的脚本。

<script> 标签是 HTML 和 Web 开发中不可或缺的一部分,正确使用它可以提高页面的交互性和用户体验。

相关推荐
默_笙11 小时前
🚦 请三个 AI 考官给 RAG 打分:量化评估实战(下)
前端·javascript
阿坨11 小时前
灵感闪存卡:一款 Tampermonkey用户脚本
javascript·tampermonkey
朝朝辞暮i13 小时前
C++ 第 25 课:getter / setter + this
java·javascript·c++
蜗牛互联网13 小时前
Python接入Gemini 3.8 Flash实现票据视觉抽取与规则校验
java·javascript·网络·人工智能·python
xieter15 小时前
【技术精选】深入浅出现代前端渲染与性能优化实践指南 (2026-10-04)
前端·javascript
xieter15 小时前
【硬核实战】TypeScript Compiler API: Preserving Child Node Narrowing in Reusable Type Guards 🔧 (2026-10-03)
前端·javascript
xieter15 小时前
【硬核实战】React 19 useFormStatus Returning False? I Built a SubmitButton That Fixes It (2026-10-03)
前端·javascript
paopaokaka_luck16 小时前
非遗文物数字化小程序(AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流)
javascript·spring boot·mysql·数据分析·echarts·mybatis
Highcharts.js16 小时前
图表开发实战总结| 7 条“黄金法则”与“性能铁律”
前端·javascript·vue.js·编辑器·时序数据库·highcharts
Helix25017 小时前
Electron、WebView 框架与 HTA 对比:桌面应用选型、安全性与现代替代方案
前端·javascript·electron·webview·vbscript·hta·本地html应用