为了准备春招面试,对本身的知识点进行一个总结积累,第一篇是关于HTML方面的知识点,后续若是碰见新题会进行继续的补充javascript
HTML语义化简单来讲就是,段落使用<p></p>
,侧边栏用<aside></aside>
,主要内容使用<main></main>
。html
告诉浏览器使用哪一个版本的HTML规范来渲染文档。DOCTYPE不存在或形式不正确会致使HTML文档以混杂模式呈现。java
HTML5不基于SGML,因此不须要引用DTD(DTD 文档类型定义)。在HTML5中<!DOCTYPE>只有一种web
<!DOCTYPE html>
在HTML4.01中,<!DOCTYPE>声明引用DTD,由于HTML4.01基于SGML。DTD规定了标记语言的规则,这样浏览器才能正确的呈现内容。在HTML4.01中有三种<!DOCTYPE>声明。面试
a
、span
、img
、input
、select
div
、ul
、ol
、li
、p
控制页面在移动端不要缩小显示。canvas
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
新增长了图像、位置、存储、多任务等功能。浏览器
canvas
,用于媒介回放的video
和audio
元素等localStorage
长期存储数据,浏览器关闭后数据不丢失;sessionStorage
的数据在浏览器关闭后自动删除figure
、footer
、header
、aside
、time
等标签Geolocation
calendar
date
time
email
url
search
Web Worker
(web worker是运行在后台的 JavaScript,独立于其余脚本,不会影响页面的性能。您能够继续作任何愿意作的事情:点击、选取内容等等,而此时 web worker 在后台运行) Web Socket
drag
、drop
主要分红两部分:渲染引擎(Layout Engine或Rendering Engine)和JS引擎。session
渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,而后会输出至显示器或打印机。浏览器的内核的不一样对于网页的语法解释会有不一样,因此渲染的效果也不相同。
JS引擎:解析和执行javascript来实现网页的动态效果。异步
最开始渲染引擎和JS引擎并无区分的很明确,后来JS引擎愈来愈独立,内核就倾向于只指渲染引擎。async
Trident
:IE内核Gecko
:Firefox内核Presto
:Opera前内核(已废弃)Webkit
:Safari内核,Chrome内核原型,开源Blink
:由Google和Opera Software开发,Chrome(28及日后版本)、Opera(15及日后版本)和Yandex浏览器中使用没有defer
或async
,浏览器在遇到script
标签后,会当即加载并执行标签中的脚本,“当即”指的是在渲染该script
标签之下的文档元素以前,也就是说不等待后续载入的文档元素,读到就加载并执行。
有defer
,加载后续文档元素的过程将和script.js
的加载并行进行(异步),可是script.js
的执行要在全部元素解析完成以后,DOMContentLoaded
事件触发以前完成。
有async
,加载和渲染后续文档元素的过程将和script.js
的加载并行进行(异步),但当script.js
加载完后会当即执行,即中止加载和渲染后续文档元素,执行script.js
。
如图所示,但须要注意如下几点
defer
,此图未尽之处在于它是按照加载顺序执行脚本的,这一点要善加利用async
,它的脚本加载顺序是乱序的,谁先加载完执行谁