本章核心
使用<script>
元素
嵌入脚本和外部脚本
文档模式对javascript的影响
禁用javascript的场景
script元素
PS:加载的顺序是从上之下的/但是不能嵌套使用/可以加载外部域的js文件
标签的位置一般在body的内容后面,因为如果放在head部分,页面会先加载head,如果js很多的话,会影响加载速度。
当然可以使用script的defer属性来进行延迟,这个属性的作用就是,即使你把script放在head,它也会在页面加载完成后加载js脚本,但是者必须是脚本来自外部文件。
如果你想改变js本来的加载顺序,可以使用async的属性。这是用来执行异步脚本的。它会在load事件之前完成。
如此:是否是用async的区别如下:
| 是否使用async| |执行的顺序|
| 是 | |在页面解析时执行|
| 否 | |在页面解析前执行|
在xhtml中的用法
xhtml是比html更加严格的书写格式
例如在html可以直接使用<(小于符号),html采用特殊的规则可以解析。但是在xhtml中会把<看成是标签的开始。可以使用下面两种方法进行替代:
- 一种是使用html实体:&It
- 二是采用CDATA片段,这个片段作为一个特殊区可以用来识别一些特殊格式,形如下面:
<script type="text/javascript">
<![CDATA[
//这里的>或者<可以直接使用
if(a>b){
return a;
}
}
]]>
</script>
但是很多浏览器不支持cdata片段,可以采用js的注释,把cdata部分注视掉,这样所有的浏览器都支持这样的方式:
<script type="text/javascript">
//<![CDATA[
if(a>b){
return a;
}
}
//]]>
</script>
使用外部文件的优势
- 可维护
- 可缓存
- 适应未来
文档模式
- 分类
- 混杂模式
- 标准模式
文档模式本来是影响css内容呈现的,但是也会影响js的加载