- 由三部分组成:ECMAScript、DOM、BOM;
- <script>标签
- 置于<body>中页面元素后面,避免页面渲染的明显延时;
- 适用于外部脚本
- <defer>推迟执行脚本,页面解析完执行;(HTML5)
- <async>异步执行脚本,在事件load事件前执行;(HTML5)
- 要包含外部JavaScript文件,必须将src属性设置为包含文件的URL。文件可跟网页在同一台服务器,也可位于完全不同的域。
- 所有的<script>元素会依照它们在网页中出现的次序被解释。在不使用defer和async属性的情况下,包含在<script>元素里的代码必须严格按次序解释;
- 对不推迟执行的脚本,浏览器必须解释完位于<script>元素中的代码,然后才能继续渲染页面的剩余部分。为此,通常应该把<script>元素放在页面末尾,介于主内容之后及</body>标签之前。
- 可使用defer属性把脚本推迟到文档渲染完毕后再执行。推迟的脚本总是按照它们被列出的次序执行。
- 可使用async属性表示脚本不需要等待其他脚本,同时也不阻塞文档渲染,即异步加载。异步脚本不能保证按照它们在页面中出现的次序执行。
- 通过使用<noscript>元素,可指定在浏览器不支持脚本时显示的内容。如果浏览器支持并启用脚本,则<noscript>元素中的任何内容都不会被渲染。