向HTML页面中插入JavaScript脚本代码,需要使用<script>元素;
1. <script>元素
1)使用<script>元素有两种方法:
a)script 元素中直接包含脚本语句:
<!DOCTYPE HTML>
<html>
<body>
<script type="text/javascript">
document.write("hello world")
</script>
</body>
</html>
b)通过 "src" 属性指向外部脚本文件(注:如果使用 "src" 属性,则 <script> 元素中不能再包含额外的JavaScript代码)
<script type="text/javascript src="example.js"></script>
2)HTML5为<script>元素定义的特有属性:
async(可选) | 异步脚本,表示应该立即下载脚本,但不应妨碍页面中的其他操作,下载的同时可以进行页面的其他操作(仅适用于外部脚本) |
defer(可选) | 延迟脚本,规定当页面完成解析后,再执行脚本(仅适用于外部脚本) |
charset(可选) | 规定在脚本中使用的字符编码(仅适用于外部脚本) |
src(可选) | 规定外部脚本的 URL |
type(可选) | 规定脚本的 MIME 类型(脚本语言的内容类型),type的属性值一般为text/javascript,如果没有写这个属性,其默认值仍然为text/javascript。 |
注意:
如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行
如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本
3)<script>元素位置
传统做法是将<script>元素放到页面的<head>元素中;这意味着只有全部JavaScript代码被下载、解析、执行完成后,才能开始显示页面的内容;这也就导致一个问题的出现:如果javascript代码过多将会导致呈现页面出现很大的延迟;
所以现在web应用程序一般把全部Javascript代码放到<body>元素中页面内容的后面;