浏览器
点了个汤
菜鸡前端一枚
展开
-
浏览器工作原理-V8引擎
浏览器工作原理-v8引擎内存数据存储栈空间栈空间是存储调用栈的上下文的。堆空间堆空间是存储引用类型的数据。为什么会有堆空间?因为栈空间需要频繁的释放和添加。需要快速的响应。栈空间的大小不大、而有很多数据是很大的。所以有了堆空间。堆空间的数据,是在栈空间中有一个引用 地址,对应的堆空间内。当我们访问的时候通过引用地址访问。所以我们对引用类型数据进行复制的时候。只是复制了引用地址,引用的具体数据还是那一个。代码空间存储我们的可执行代码。深拷贝因为引用类型赋值不能达到复制,不影原创 2020-05-13 18:36:35 · 1604 阅读 · 0 评论 -
浏览器工作原理-js执行机制
浏览器工作原理-js的执行js变量的提升console.log(a);var a = 123;show();function show(){ console.log("测试")};这段代码打印出来显示undefined在显示测试,为什么执行函数成功了?变量却打印不出来呢?var a;function show(){ console.log("测试")};console.log(a);show();a=123;打印出来也是一样的。有点神奇,为什么函数可以执行,变量却不原创 2020-05-13 18:35:25 · 711 阅读 · 0 评论 -
浏览器工作原理-渲染流程
浏览器工作原理-渲染流程(浏览器是怎么将html、css、js转换为页面的)渲染的流水线是:构建dom树,样式计算、布局、分层、绘制、分块、光栅化、合成。每个阶段都有输入、处理、输出。三个阶段。构建DOM树输入:我们的html结构处理:将html结构的文本转换为浏览器可识别的dom树。输出:dom树dom树是什么样的?在浏览器console中打印一个document这个就是一个dom树、样式计算我们的dom树有了就需要有样式的计算输入:我们的样式源,link引入、style标签包的原创 2020-05-12 18:34:45 · 245 阅读 · 0 评论 -
浏览器工作原理-HTTP协议
浏览器工作原理-HTTP协议浏览器是多进程还是单进程的?都知道js是单线程,js的运行环境在浏览器的v8引擎,那么浏览器也是单进程的吗?浏览器早期是将所有的功能统一在一个进程里面进行的,而现在的浏览器是多进程多线程的。js的执行环境v8只归浏览器的一个进程中的一个线程。浏览器的进程有几个:浏览器主进程: 负责界面显示,子进程的管理,提供存储功能。GPU进程:负责3D绘制相关的处理渲染进程:任务是将html、css、js转换为页面。每一个tab页都是一个渲染进程。这也是为什么我们一个页面崩了其他原创 2020-05-11 18:50:19 · 954 阅读 · 0 评论