html5 <script>

1.在使用<script>嵌入javascript代码时,javascript代码中不能含有"</script>",必须替换成"</script>"才能被正确解析

2.必须的type属性规定脚本的MIME类型(MIME类型:描述消息内容类型的因特网标准),若无,则使用默认值text/javascript

3.async为true(html中表达:async),则为异步,脚本在页面继续解析的过程中执行,同时发生。

4.async为false,表示同步,不能同时发生,defer为true(html中表达,defer="defer"),表示有延迟,脚本会立即下载,延迟执行,脚本在页面解析完成后执行

5.async为false,defer为false,脚本立即执行,脚本执行完毕后页面解析

6.async defer 只对外部脚本有效,都告诉浏览器立即下载文件,可选,指定async目的在于不让页面解析等待脚本执行

7.默认async为false同步

8.带有src的script标签内部不应有javascript代码,否则,只执行src链接的外部文件。

9.src属性可包含来自外域的js文件,与img类似

10.html解析按照所在html页面的位置,从上至下逐个解析,浏览器在遇到body标签时才开始呈现页面内容,所以最好把script标签放在body内最后的位置。提高用户体验

11.延迟至只对外部文件有用,两个延迟脚本(同两个异步脚本)未必按照先后顺序来执行延迟脚本一般会先于DOMContextLoaded事件执行,但并非绝对,由于兼容性仍考虑把延迟脚本放在body内最下面

原文地址:https://www.cnblogs.com/qmxj-blog/p/6491513.html