HTML5中引入JavaScript有五种方式:一、内联script标签;二、src属性引入外部JS文件;三、用async/defer控制执行时机;四、type="module"支持ES6模块;五、动态创建script元素。

如果您希望在HTML5页面中嵌入或调用JavaScript代码以实现交互功能、动态内容更新或表单验证等行为,则必须正确声明script元素并遵循HTML5规范的引入方式。以下是HTML5中引入与使用script脚本的具体操作步骤:
一、内联方式直接编写script代码
该方式将JavaScript代码直接写在HTML文档内部,适用于简短逻辑或调试阶段,无需额外文件请求,执行时机依赖于script标签位置。
1、在HTML5文档的<head>或<body>内添加<script></script>标签对。
2、在标签内部输入JavaScript语句,例如:<script>alert("Hello HTML5");</script>。
立即学习“前端免费学习笔记(深入)”;
3、若脚本依赖DOM元素,应将<script>置于对应元素之后,或使用defer属性(仅适用于外部脚本)或监听DOMContentLoaded事件。
二、通过src属性引入外部JS文件
该方式将JavaScript代码分离至独立的.js文件中,有利于代码复用、缓存优化及维护,是生产环境推荐做法。
1、创建一个纯文本文件,扩展名为.js,例如main.js,并保存JavaScript代码。
2、在HTML5文档中插入<script src="main.js"></script>标签,路径可为相对路径或绝对URL。
3、确保文件编码与HTML文档一致(推荐UTF-8),并在<script>标签中显式声明type="text/javascript"(HTML5中可省略,但保留更兼容)。
三、控制脚本加载与执行时机
HTML5提供了多个属性用于精确控制外部脚本的下载和执行顺序,避免阻塞渲染或DOM访问错误。
1、为<script>标签添加async属性,使脚本异步下载且下载完成后立即执行,适用于不依赖其他脚本的独立模块(如统计代码)。
2、为<script>标签添加defer属性,使脚本异步下载但延迟至HTML解析完成后再按顺序执行,适用于需操作完整DOM的脚本。
3、避免在<head>中使用无属性的同步script标签加载较大JS文件,否则会阻塞页面渲染直至脚本下载并执行完毕。
四、使用module类型脚本支持ES6模块语法
HTML5原生支持ES6模块(ECMAScript Modules),允许使用import/export语法组织代码,具备作用域隔离与静态分析能力。
1、创建模块文件(如utils.js),使用export导出函数或变量,例如:export const add = (a, b) => a + b;
2、在HTML中引入时,设置<script type="module">并指定src,例如:<script type="module" src="app.js"></script>。
3、在app.js中使用import语法导入,例如:import { add } from './utils.js'; 注意路径必须为相对或绝对URL,不可省略扩展名。
五、动态创建script元素注入脚本
该方式在运行时创建script标签并插入DOM,适用于按需加载、条件执行或跨域资源加载场景,绕过预解析限制。
1、使用document.createElement("script")创建script元素。
2、设置其src属性指向外部JS文件,或设置textContent/innerText属性写入内联代码。
3、调用document.head.appendChild()或document.body.appendChild()将其插入文档,触发下载与执行;若为外部脚本,可监听其onload事件确认加载完成。











