第一问:请说出关于下面使用方式中script的区别
默认
<html>
<head>
<script type="text/javascript" src="script1.js" >script>
<script type="text/javascript" src="script1.js" >script>
head>
<body>
body>
html>
使用defer
<html>
<head>
<script type="text/javascript" src="script1.js" defer="defer">script>
<script type="text/javascript" src="script2.js" defer="defer">script>
head>
<body>
body>
html>
使用async
<html>
<head>
<script type="text/javascript" src="script1.js" defer="async">script>
<script type="text/javascript" src="script2.js" defer="async">script>
head>
<body>
body>
html>
默认方式:浏览器会并行加载script, 但是执行是书写的顺序,如果script1执行未完毕,就不会开始执行script2,尽管script2已经加载完。而且这种方式会阻碍script标签后面其他元素的渲染,直到script1执行完毕才会渲染后面的dom
defer方式:也叫延迟脚本,使用defer后,该脚本会被马上加载,但是脚本会被延迟到整个页面都解析完再执行,即等浏览器遇到