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. 使用 asyncdefer
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> 标签之前,可以确保在脚本执行前整个页面已经加载,但可能会导致页面渲染的延迟。
  • 使用 asyncdefer 属性可以改善页面加载性能,尤其是对于大型脚本或需要异步加载的脚本。

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

相关推荐
局i1 小时前
Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择
前端·javascript·vue.js
fruge1 小时前
接口 Mock 工具对比:Mock.js、Easy Mock、Apifox 的使用场景与配置
开发语言·javascript·ecmascript
贩卖黄昏的熊2 小时前
typescript 快速入门
开发语言·前端·javascript·typescript·ecmascript·es6
Syron3 小时前
ScaleSlider 组件实现
javascript
xhxxx3 小时前
深入执行上下文:JavaScript 中 this 的底层绑定机制
javascript
DsirNg4 小时前
Vue 3:我在真实项目中如何用事件委托
前端·javascript·vue.js
克喵的水银蛇4 小时前
Flutter 适配实战:屏幕适配 + 暗黑模式 + 多语言
前端·javascript·flutter
冬男zdn4 小时前
Next.js 16 + next-intl App Router 国际化实现指南
javascript·typescript·reactjs
有意义4 小时前
this 不是你想的 this:从作用域迷失到调用栈掌控
javascript·面试·ecmascript 6
风止何安啊4 小时前
别被 JS 骗了!终极指南:JS 类型转换真相大揭秘
前端·javascript·面试