声明:本人的所有博客皆为个人笔记,作为个人知识索引使用,因此在叙述上存在逻辑不通顺、跨度大等问题,希望理解。分享出来仅供大家学习翻阅,若有错误希望指出,感谢!
<script>标签属性:
async:可选,表示应立即下载脚本,但不应妨碍页面中的其他操作
defer:可选,表示脚本可以延迟到文档完全被解析和显示后再执行,只对外部脚本有效
src:可选,表示包含要执行代码的外部文件
type:必选,表示编写代码使用的脚本语言的内容类型,一般为text/javascript
使用外部JavaScript文件
在使用<script>嵌入外部JavaScript代码时,不要再代码中的任何地方出现</script>
如果要通过<script>元素来包含外部JavaScript文件,那么src就是必须的,src指向外部JavaScript文件链接,可以是相对地址,也可以是绝对地址
在下载和解析外部JavaScript文件时,页面的处理也会暂时停止
带有src属性的<script>标签之间不应该再包含JavaScript代码,即使包含了也会被无视
外部JavaScript文件带有.js拓展名,该拓展名可以忽略,但是必须保证服务器能返回正确的MIME类型
标签的位置
-
放置在<body>的末尾
- because:浏览器会顺序处理html代码,如果放在开头会导致浏览器优先下载和处理JavaScript外部文件,从而使网页卡顿
-
放置在<head>中,并添加defer=“defer”
<script type="text/javascript" defer="defer" src="xxx.js"></script>
- because:defer属性会使将脚本延迟到整个页面都加载完成时才运行,称为延迟脚本,延迟脚本最好只有一个
-
放置在<head>中,并添加async
<script type="text/javascript" async src="xxx.js"></script>
- because:async属性指示浏览器立即下载脚本文件,但是不应妨碍页面中的其他操作
- 标记为async的脚本无法保证脚本执行的先后次序
-
建议使用放置在<body>的末尾的方法