script 标签的4个属性:
- async: 表示应当立即下载脚本,但不应妨碍页面中的其他操作(延迟执行),比如下载其他资源或者等待加载其他脚本。之 对外部脚本文件有效。
- defer: 表示脚本可延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。
- src: 表示包含执要行代码的外部文件。
- type: 表示编码使用的脚本语言的内容类型(也成为MIME类型)编码时建议加上 type="text/javascript"
只要不存在 defer 和 async 属性,浏览器就会按照 JavaScript 元素再页面中的出现的先后顺序依次进行解析。
JavaScript在浏览器中的解释执行:
Url --> 请求服务器 -> 获取html文档 --> 浏览器解析HTML中的元素标签 --> 遇到script标签后,停下解析执行script代码 --> 当script文件过大请求过长时,页面会卡顿,此时用户点击事件会被禁止。
网页卡住的原因:
Script阻塞,页面卡住,用户点击事件被禁止。