script 标签 async 属性

script 标签 async 属性

普通script

文档解析的过程中,如果遇到script脚本,就会停止页面的解析进行下载(但是Chrome会做一个优化,如果遇到script脚本,会快速的查看后边有没有需要下载其他资源的,如果有的话,会先下载那些资源,然后再进行下载script所对应的资源,这样能够节省一部分下载的时间 @Update: 2018-08-17)。
资源的下载是在解析过程中进行的,虽说script1脚本会很快的加载完毕,但是他前边的script2并没有加载&执行,所以他只能处于一个挂起的状态,等待script2执行完毕后再执行。
当这两个脚本都执行完毕后,才会继续解析页面。

defer 属性

文档解析时,遇到设置了defer的脚本,就会在后台进行下载,但是并不会阻止文档的渲染,当页面解析&渲染完毕后。
会等到所有的defer脚本加载完毕并按照顺序执行,执行完毕后会触发DOMContentLoaded事件。

async

async脚本会在加载完毕后执行。
async脚本的加载不计入DOMContentLoaded事件统计,也就是说下图两种情况都是有可能发生的

推荐的应用场景

defer

如果你的脚本代码依赖于页面中的DOM元素(文档是否解析完毕),或者被其他脚本文件依赖。

async

如果你的脚本并不关心页面中的DOM元素(文档是否解析完毕),并且也不会产生其他脚本需要的数据。

如果不太能确定的话,用defer总是会比async稳定。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: script标签的src属性用于指定外部 JavaScript 文件的 URL,从而将该文件引入到 HTML 文档中。例如: ``` <script src="example.js"></script> ``` 在这个例子中,`example.js` 是一个外部 JavaScript 文件的 URL,它将被引入到 HTML 文档中。浏览器在解析到该 script 标签时,会自动下载并执行该文件中的 JavaScript 代码。这样,我们就可以将 JavaScript 代码分离到一个独立的文件中,提高页面的可维护性和加载速度。 ### 回答2: script标签的src属性用于指定引入外部JavaScript文件的路径。通过src属性,可以将外部文件的内容嵌入到HTML文档中,从而实现代码的复用和解耦。 使用src属性的格式为:<script src="文件路径"></script>。其中,文件路径可以是相对路径或绝对路径,用于指定外部JavaScript文件所在的位置。相对路径是相对于当前HTML文档的位置来指定外部文件的路径,可以是相对于当前文件所在目录的相对路径,或者相对于根目录的绝对路径。绝对路径是指文件的完整路径,通常使用URL来指定。 使用外部JavaScript文件的优势在于代码的分离和复用。将JavaScript代码独立成外部文件,可以提高代码的可维护性和可读性。同时,可以在多个页面中共享该外部文件,减少重复代码的编写和维护工作。 在使用src属性引入外部文件时,需要确保文件路径正确,否则浏览器无法加载外部文件。如果路径错误,可以通过浏览器的开发者工具查看控制台报错信息,以便找出问题所在。此外,为了防止外部文件加载中断,还可以通过在标签内添加defer或async属性来控制外部文件的加载和执行顺序。 需要注意的是,使用src属性引入外部文件时,需要确保文件是正确的JavaScript语法,且服务器正确设置文件的MIME类型。否则,外部文件可能无法正常加载或执行。另外,还要注意文件路径的安全性,以防止恶意代码的注入和执行。 总之,script标签的src属性是用来引入外部JavaScript文件的重要属性,可以实现代码的复用和解耦,提高代码的可维护性和可读性。 ### 回答3: `script`标签是HTML中的一个元素,用于引入外部的JavaScript文件或内联JavaScript代码。 `src`属性是`script`标签的一个属性,用于指定要引入的外部JavaScript文件的路径。 通过将外部JavaScript代码文件引入到HTML页面的方式,可以实现JavaScript代码的复用和模块化开发。在HTML中使用`script`标签,通过设置`src`属性指向外部JavaScript文件的路径,就能将该文件中的JavaScript代码加载到HTML页面中执行。 有以下几点需要注意: 1. 外部JavaScript文件必须是有效的JavaScript代码,否则在加载时会出现错误。 2. 外部JavaScript文件的路径可以是相对路径或绝对路径。 3. 如果使用相对路径,它是相对于当前HTML文件的路径。 4. 外部JavaScript文件应该放置在`<script>`标签之前,以确保在使用时已经加载完成。 5. 可以在同一个HTML文件中多次使用`script`标签,引入不同的外部JavaScript文件或多个内联JavaScript代码块。 示例: ```html <!DOCTYPE html> <html> <head> <title>Script标签示例</title> </head> <body> <h1>Script标签示例</h1> <!-- 引入外部JavaScript文件 --> <script src="scripts/myscript.js"></script> <!-- 内联JavaScript代码 --> <script> console.log("Hello, World!"); </script> </body> </html> ``` 在上述示例中,`script`标签的`src`属性指向`scripts/myscript.js`,它会加载并执行`myscript.js`文件中的JavaScript代码。同时,页面中的内联JavaScript代码也会被执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值