天天讯息:04.script标签

script标签作用

script标签放在哪个位置


(资料图)

defer与async区别

1.script标签作用

在 HTML 中,script标签用来书写JavaScript代码,进行一些交互。可以在标签内部编写代码,也可以通过链接引入外部js代码。

2.script标签放在哪个位置

内部js代码,即在标签内部书写的js代码

将script标签放在head里面,如:

上面的代码打印app为null。

因为浏览器解析html是从上往下的,由于执行script代码时,还没有解析到body,所以获取不到id为app的元素。

解决办法:

1.给js代码用window.onload函数包裹,让js代码在html解析完成后再执行。

2.将script标签放在body标签里面的最下面,从上往下按顺序执行。

外部js代码

script标签通过链接引入外部js代码,此时标签里面就不能书写代码了。

1.可以放head标签里面,需要添加defer或者async属性来延迟执行js,推荐使用defer。

2.将script标签放在body标签里面的最下面,从上往下按顺序执行。

3.defer与async区别

defer:

加载js代码的同时,不阻塞html往下解析,

加载完js代码后,等html解析完成再执行里面的js代码。

多个script标签加了defer,就在html解析完成后按顺序执行。

async:

加载js代码的同时,不阻塞html往下解析,

加载完js代码后,不等html解析是否完成就执行里面的js代码。

多个script标签加了async,不按顺序执行,谁先加载完成谁执行。