摘要:如果遇到多个带的标签,那么他们的执行顺序是无法保证的。就像上面的代码,无法保证一定会在前面执行。但是这两个脚本都会先于事件执行。
在HTML里面使用javaScript有两种方式:
1: 通过
以上的一段代码,如果是放在
里面,那么页面的解析(页面的解析是遇到开始)就要等这两段script执行完了才会开始,并且规定那个先出现就先执行哪个,所以以上代码会先执行alert("hello"),再执行alert("javaScript")如果上面的代码是放在body里面, 那上面代码的存在则会直接导致页面的解析,要等这段js代码执行完了,再继续页面解析的工作。
3:通过
以上的情况浏览器会按照文件出现的先后顺序去下载和执行代码,意思就是b.js会在a.js执行完之后再执行。 **2:通过
遇到带有async属性的 从这个图对比上面的第2种情况,可以看出,在下载js文件的时候,页面的解析依然是在执行的,只是下载完之后js的执行会阻塞页面的解析。 先来看一下defer的图像表示: defer只在
如果上述代码是放在body里面,那么它也是阻塞的,如果用图表示的话就是:
如果遇到多个带async的