DOCTYPE(⽂档类型) 的作⽤
在编写代码的html代码的时候通常可以看到 “<!DOCTYPE html” 这时候我就疑问为什么需要这样写呢? 通过查阅发现:DOCTYPE是HTML5中一种标准通用标记语言的文档类型声明 为什么要用它? 其目的主要是告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型定义来解析文档,不同的渲染模式会影响浏览器对 CSS 代码甚⾄ JavaScript 脚本的解析。它必须声明在HTML⽂档的第⼀⾏
script标签中defer和async的区别
如果script标签上没有这两个属性,浏览器则会立马加载的同时一起执行相应的脚本。将不会等待加载后面的文档资源,这样就会出现阻塞现象
defer 和 async 共同点
都实现了异步加载外部的js脚本文件,并且都不会阻塞页面的加载解析
二者区别
- 执行顺序上的区别:多个带async属性的script标签,加载顺序不能保证;而多个带defer的标签,则会依次按顺序执行;
- 能否并行执行:
- async属性:表示后续文档的加载和执行与js脚本的加载和执行是并行进行的,即异步执行;
- defer属性:在加载后续文档的过程js脚本的加载(但是这时候是仅仅加载不执行的)是并行进行的(也就是异步),js脚本则需要等到文档资源中的所有元素都解析完成之后才执行,但会在DOMContentLoaded事件触发执行之前。