W3C标准
w3c标准是一系列标准的集合。包括以下几个部分:
可扩展标记语言(XML)
可扩展超文本标记语言(XHTML/HTML)
层叠样式表(CSS)
文档对象类型(DOM)
ECMAScript
思维导图:
浏览器内核
浏览器内核主要分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎:
也称排版引擎,解释引擎。负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。
解析和执行javascript来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。
市场上主流浏览器的内核:
- Trident内核:IE , MaxThon , 腾讯TT , The World , 360 , 搜狗浏览器等。
- Gecko内核:Netscape6及以上版本 , MozillaSuite/SeaMonkey等
- WebKit内核:Safari,Chrome , Chrome的:Blink(WebKit的分支)(微信内置浏览器内核 X5 blink)
- Presto内核:Opera7及以上。
Javacript的组成
JavaScript和ECMAScript通常都被人们用来表达相同的含义,但是JavaScript的含义却比ECMA-262的要多得多,一个完整的JavaScript有三个组成部分组成。
1 | 核心(ECMAScript) |
JavaScript语言组成部分包含
1 | 语法 |
文档对象模型(DOM Document Object Model)
针对XML但经过扩展用于HTML的应用程序编程接口,DOM把整个页面映射成一个多节点结构,HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点包含不同类型的数据。
浏览器对象模型(BOM)
支持可以操作和访问浏览器窗口的浏览器对象模型(BOM Browser Object Model),开发人员可以使用BOM控制浏览器显示的页面以外的部分。
从根本上讲,BOM只处理浏览器窗口和框架,但人们习惯上把针对浏览器的JavaScript扩展算作BOM的一部分,下面就是这样的扩展;
1 | 弹出浏览器窗口 |