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 开发中不可或缺的一部分,正确使用它可以提高页面的交互性和用户体验。

相关推荐
可乐鸡翅yeah_10 分钟前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8
福兮说14 分钟前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
Ai-_Man2 小时前
您您这可以把Grok的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
liangshanbo12152 小时前
JavaScript 异步核心主线
javascript·事件循环·异步操作
传人once3 小时前
悬停旋转放大和位移效果如何写
javascript·css·动画
默_笙5 小时前
🍔 中间件不只是打日志:四个钩子、一次短路,和自带的工具
前端·javascript
Dovis(誓平步青云)6 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
xieter6 小时前
【技术精选】TypeScript 高级类型体操:条件类型与模板字面量深度剖析 (2026-10-06)
javascript
ss2737 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python
CappuccinoRose7 小时前
输入事件进阶
前端·javascript·输入事件