JavaScript加载顺序的问题
JavaScript加载顺序的问题
Html是线性加载的,也就是从上往下依次加载的。
JavaScript放在<head>中时,页面会首先加载所有的js,其次在加载body中的页面元素。
<head> <script type="text/javascript" src="example.js"></script> <script type="text/javascript" src="example.js"></script> </head>
JavaScript放在body中内容的末尾,这样,加载时是先将所有页面元素都加载完成后,在执行js。
<body> <!-- This is content --> <script type="text/javascript" src="example.js"></script> <script type="text/javascript" src="example.js"></script> </body>
defer延迟
使用这个属性就相当于将js在body末尾引入的效果。即脚本会被延迟到整个页面都解析完毕后在运行。不过这个属性只有IE才支持。
<head> <script type="text/javascript" defer="defer" src="example.js"></script> </head>