JavaScript 如何和 HTML 建立联系
通过 <script></script> 标签, 在 HTML 有两种应用形式:
-
行内代码(非最佳实际):
<script type="text/javascript"> function (){....} </script>
- 内部文件(最佳实际 ):
实践上把不推迟执行的脚本搁置在主体内容之后 </body> 之前。因为浏览器必须解释完位于 <script> 元素中的代码,而后能力持续渲染页面的残余局部。
举荐理由:可维护性、缓存、适应将来。
<script src="xxx.js"></script>
script 标签中的属性介绍:
- async:示意应该立刻开始下载脚本,但不能阻止其余页面动作,比方下载资源或期待其余脚本加载。
- charset:指定的代码字符集
- crossorigin:配置相干申请的 CORS(跨源资源共享)设置
- defer:示意脚本能够提早到文档齐全被解析和显示之后再执行。
- integrity:容许比对接管到的资源和指定的加密签名以验证子资源完整性(SRI,Subresource Integrity)
- src:示意蕴含要执行的代码的内部文件
-
type:代码块中脚本语言的内容类型(古代浏览器默认反对 js 脚本)
<script type="MIME_type"></script> /*MIME_type: text/javascript text/ecmascript application/ecmascript application/javascript text/vbscript */
defer 和 async 区别
defer:推延执行脚本
async:异步执行脚本
区别:defer 等到 HTML 解析到完结后执行脚本,原则上依照列出的程序执行,async 下载完之后就执行,不能保障按列出的秩序执行脚本对于 noscript 元素的应用场景
- noscript 标签能够用来判断浏览器是否反对 JavaScript,尽管说当初的浏览器曾经 100% 反对 JavaScript。
尽管有正文标签 <!– –>,然而咱们也能够把须要正文的 HTML 构造用 <noscript></noscript> 包裹,达到正文的成果(尽管说有剑走偏锋)。