在说知识点之前,提供给大家也给自己一个学习方法——每周至少花一个小时的时间看笔记,而且每次都从头看,坚持下去。(温故而知新,可以为师矣)这样子等面试的时候面试官问你基础知识的时候你就能够很熟练的说出来。
W3C(万维网联盟)
W3C:制定编程语言规范和标准
开发者按照规范编写代码,浏览器开发商也会开发一套按规范把代码渲染成页面的东西,这个东西就是引擎或内核。
浏览器内核
webkit(v8引擎):chrome opera safari 国产浏览器和手机端
gecko:firefox(火狐浏览器)
trident:IE浏览器 (IE的最新版本是edge)
页面的渲染过程
第一步:在CPU开辟一块栈内存,并分配一个主线程,基于进栈出栈的方式自上而下的解析代码
第二步:第一次加载页面时,代码首先渲染出所有的DOM结构,当CSS资源请求回来后生成样式树,最后把DOM树和样式树混合在一起生成渲染树
第三步:通知GPU(显卡)绘制出来即可
为啥会出现浏览器兼容
(1)部分浏览器会提前开发一些更好的功能,后期这些功能会被收录到W3C规范中,但在收录之前会存在一定的兼容性
(2)各个浏览器厂商为了突出自己的独特性,用其他方法实现了W3C规范中的功能