组成
- ECMAScript——提供核心的语言功能
- DOM(文档对象模型)——提供访问和操作网页内容的方法的接口
- BOM(浏览器对象模型)——提供与浏览器交互的方法和接口
<script>元素
-
属性
- async :立即下载脚本、不会妨碍页面中的其他操作,只对外部脚本文件有效。
- chartset:指定代码的字符集,大部分浏览器会忽略它的值,基本不使用。
- defer:表示脚本可以延迟到文档完全被解析和显示之后才会执行。
- language:表示编写代码使用的脚本语言,大部分浏览器会忽略它的值,基本不使用。
- src:执行代码的外部文件的地址
- type:表示编写代码使用的脚本语言的内容类型(默认text/javascript)。
-
延迟脚本defer
- 立即下载,但是可以延迟到整个页面解析完毕之后才会执行。
- 一般延迟脚本在文件中只会存在一个,如果存在两个延迟脚本,延迟脚本不一定按照顺序执行,也不一定在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟脚本。
- 一般置于页面最底部
-
异步脚本async
-
若存在两个脚本,应保证两个脚本互不依赖。。
-
建议异步脚本不要在加载期间修改DOM。因为我们指定async的目的在于页面不需要等待脚本下载执行,即是异步加载页面其他内容。
-
-
嵌入代码和外部文件
- 推荐使用外部文件
- 可维护性高
- 可缓存,可加快页面加载速度。
- 推荐使用外部文件
-
备注:<noscript>
- 使用<noscript>元素可以指定在不支持脚本的浏览器中显示的替代内容,但在启用了脚本的情况下,自动隐藏。
-
<body> <noscript>本页面需要浏览器支持Javascript</noscript> </body>