一、使用方式
1、<script></script>嵌入
<script type="text/javascript" >
function sayHi(){
alert("Hi!");
}
</script>
<script type="text/javascript" >
function sayHi(){
alert("</script>"); /* 需要加转义,否则报错*/
}
</script>
2、<script src="">外链
<script type="text/javascript" src="vedio.js"></script>
其优点——可维护、可缓存、可扩展
3、模块化引入
{%script%}
var pluginList = require("pluginList.js");
pluginList.init();
{%/script%}</span>
二、<script>位置
1、<head></head>标签之中,意味着必须等到全部的JS代码下载、解析和执行完之后才能开始呈现页面内容(遇到body元素时),可能导致页面出现明显延迟,浏览器窗口一片空白;
2、放在</body>标签之前;
三、defer 和async 属性
defer——延迟脚本:脚本立即下载,但延迟到整个页面全都解析完毕之后再执行;按照出现顺序执行、只适用外部脚本,HTML5忽略该属性;
async——异步脚本,脚本立即下载,但不妨碍页面中下载其它资源;不按照出现顺序执行
四、文档模式之混杂模式和标准模式
通过doctype切换