1.<script>
<script type="text/javascript" src="jj.js"></script>
<script src="http://demo.php/ex.js></script> //包含外部域的JS
1.与解析嵌入式JS一样,解析外部JS(含下载)时会暂停页面处理。有src时再嵌入代码会被 忽略
2.第一个<script>元素包含的代码被解析完成后,才会依次解析第二个、第三个……
3.defer="defer" //延迟,只对外部脚本有效,告诉浏览器立即下载脚本,但文档完全呈现后再执行,HTML5规定按照脚本顺序执行
4.<script async></script> //异步,只对外部脚本有效,立即下载但不妨碍页面其他操作,不规定脚本执行顺序
2.嵌入脚本与外部脚本
外部脚本优点:可维护性、可缓存(浏览器根据设置缓存外部JS文件,如果有两个页面使用同一个JS,加快页面加载速度)、
3.文档模式对JS的影响
文档开始处没有发现文档类型声明,浏览器默认开启混杂模式
标准模式
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN //严格型
准标准模式
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN //过渡型
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset //EN //框架集型
4.考虑禁用JS的场景
<noscript><p>此页面需要浏览器支持(启用)JS脚本文件</p></noscript>
当浏览器不支持JS或JS被禁用时,上述文字才会显示
5.XHTML中
<script><![CDATA[
while(a > b){...}
]]>
</script>