首页 > JavaScript:async在这句代码中起到的作用

JavaScript:async在这句代码中起到的作用

在防范XSS的时候,会有一些特例
比如正常情况下,以下代码是没法执行的,因为没有闭合script标签

<script src="test.js">

但是,在IE下,以下代码可以成功执行:

<script async src="test.js">

请问,这里的async起到什么作用,能让浏览器不会因为没有闭合script标签而报错。
另外,在chrome或火狐下如何能实现不闭合script标签也能成功执行js?


async设置为true的时候,代表在加载js文件的同时,html文件是同时在被解析的,当js文件被加载完之后,就开始执行加载好的js文件,这个时候html文件的解析被挂起,只有当这个js文件被执行完之后才继续进行html文件的渲染。


1.首先不推荐不闭合的script标签,在javascript高级程序一书中说道:

这种语法不符合HTML规范,而且也得不到某些浏览器(尤其是IE)的正确解析。

2.关于async是个可选的参数,默认true,表示应当立即下载脚本,不会影响其他脚本和HTML的加载。
如果是async='false',则表示等到该脚本下载完毕后再执行其他操作,理解为同步。

【热门文章】
【热门文章】