HTML中的
说明:
- 
详细解释: - 当浏览器解析到带有 src 属性的 
详细解释: - type 属性用于告诉浏览器脚本的类型,默认值为 text/javascript,因此在现代浏览器中可以省略。
- 适用于引入非JavaScript脚本,如 TypeScript 或 JSONP,需要明确指定类型。
 示例: 注意事项: - 如果不需要指定非默认类型,可以省略 type 属性,简化代码。
 async属性 ?作用: 指示浏览器在下载脚本时是否异步执行脚本。当设置为 async 时,脚本会在下载过程中并行执行,不会阻塞页面的渲染。 示例: 详细解释: - 异步加载:脚本下载和页面解析是并行进行的,脚本下载完成后立即执行,可能会在页面解析完成之前执行。
- 适用于独立的脚本,不依赖于其他脚本或页面内容。
 优点: - 提高页面加载速度,减少阻塞。
- 用户体验更佳,因为页面可以更快地显示。
 缺点: - 执行顺序不确定:多个 async 脚本的执行顺序不固定,可能导致依赖问题。
 适用场景: - 广告脚本、分析脚本等独立脚本,不依赖于页面内容或其他脚本。
 defer属性 ?作用: 指示浏览器在解析完整个文档后再执行脚本。当设置为 defer 时,脚本会在文档解析完毕后按照顺序执行,但在 DOMContentLoaded 事件触发之前执行。 示例: 详细解释: - 延迟执行:脚本下载和页面解析是并行进行的,但脚本执行会被延迟到文档解析完成后。
- 保持执行顺序:多个 defer 脚本会按照它们在HTML中的顺序依次执行。
 优点: - 保持脚本执行顺序,适用于依赖关系明确的脚本。
- 不阻塞页面渲染,提高加载性能。
 缺点: - 仅在HTML文档完全解析后执行,可能导致脚本执行稍有延迟。
 适用场景: - 依赖DOM元素的脚本,如页面初始化、交互功能等。
 charset属性作用: 指定脚本的字符编码。 示例: 详细解释: - 确保浏览器以正确的字符编码解析和执行脚本,避免乱码问题。
- 在引入非ASCII字符的脚本时尤为重要。
 注意事项: - 在现代开发中,建议统一使用 UTF-8 编码,并在HTML文档中通过 设置全局编码,通常无需单独为
- integrity:用于子资源完整性检查,通过哈希值验证脚本的完整性,防止脚本被篡改。
- 示例:
- nomodule:用于指定脚本不应在支持ES6模块的浏览器中加载,常用于加载传统脚本与模块脚本的兼容。
- 示例:
 
 
 
- 当浏览器解析到带有 src 属性的