![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
浏览器基础
前端浏览器基础知识
菜鸡前端进阶
这个作者很懒,什么都没留下…
展开
-
浏览器基础(3)-javascript 执行栈
javascript 执行栈执行栈执行栈可以把执行栈认为是一个存储函数调用的栈结构,遵循先进后出的原则。当开始执行 JS 代码时,首先会执行一个 main 函数,然后执行我们的代码。根据先进后出的原则,后执行的函数会先弹出栈,在图中我们也可以发现,foo 函数后执行,当执行完毕后就从栈中弹出了。平时在开发中,大家也可以在报错中找到执行栈的痕迹function foo() { thr...原创 2020-04-03 11:07:04 · 178 阅读 · 0 评论 -
浏览器基础(5)-重绘(Repaint)和回流(Reflow)的那些猫腻
重绘(Repaint)和回流(Reflow)浏览器的渲染过程回流 (Reflow)重绘 (Repaint)浏览器的优化机制减少回流和重绘最小化重绘和重排多次修改DOM避免触发同步布局事件css3硬件加速(GPU加速)css3硬件加速的坑减少回流和重绘总结浏览器的渲染过程在讲重绘(Repaint)和回流(Reflow)之间我们先来看一看渲染相关的有些知识,有助于我们理解。从上面这个图上,我们...原创 2020-04-28 17:00:34 · 459 阅读 · 0 评论 -
浏览器基础(5)-谈谈层合成(Composite)
谈谈层合成(Composite)Web页面的大致渲染过程什么是Composite?从Node节点到RenderObject从RenderObject到RenderLayer从RenderLayer到GraphicsLayerComposite隐式合成Web页面的大致渲染过程浏览器对于一个Web页面的展示大致可以认为经历了以下几个步骤。JavaScript:一般来说,我们会使用 JavaS...原创 2020-04-23 13:14:48 · 2186 阅读 · 0 评论 -
浏览器基础(5)-DOMContentLoaded与Load详解
DOMContentLoaded与Load详解DOMContentLoaded与LoadDOMContentLoaded与Load首先我们先直观感受一哈什么是DOMContentLoaded与Load。打开Chrome DevTools,切换到Network面板,按F5刷新一哈页面,得到如下截图:...原创 2020-04-20 17:00:21 · 2156 阅读 · 0 评论 -
浏览器基础(4)-存储的前身后世
storagecookie,localStorage,sessionStorage,indexDBCookie创建CookieCookie的Secure 和HttpOnly 标记Cookie的作用域SameSite CookiesJavaScript通过Document.cookie访问Cookie基于cookie的登陆验证与退出localStorage 和 sessionStorageindex...原创 2020-04-10 19:11:16 · 282 阅读 · 0 评论 -
浏览器基础(2)Node 中的事件循环
Node.js 事件循环,定时器和 process.nextTick什么是事件轮询事件轮询机制解析阶段概述阶段的详细概述定时器待定回调轮询检查阶段关闭的回调函数setImmediate() 对比 setTimeout()process.nextTick()process.nextTick() 对比 setImmediate()为什么要使用 process.nextTick()什么是事件轮询事件...原创 2020-04-09 17:48:41 · 181 阅读 · 0 评论 -
浏览器基础(3)-浏览器中的 Event Loop
浏览器中的 Event LoopJavaScript到底是什么?JavaScript调用(执行)栈我们调试代码中也可以看到调用(执行)栈的身影你也许听过内存泄露,ok!。让我们看一个例子。阻塞浏览器中的 Event Loop微任务与宏任务的区别Event loopJavaScript到底是什么?JavaScript是一个单线程、非阻塞、异步、解释性脚本语言。单线程的运行环境,使的它有且只有一个...原创 2020-04-04 22:41:20 · 298 阅读 · 0 评论 -
浏览器基础(2)-跨域
跨域跨域是啥?下面是一个例子来理解同源策略为什么会有同源策略?解决跨域的常见方式JSONPCORS(Cross-origin resource sharing)跨域资源共享什么情况下需要 CORS ?简单请求预检请求(复杂请求)跨域是啥? 因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。...原创 2020-04-01 20:45:09 · 249 阅读 · 0 评论 -
事件机制(问题解答)
问题列表是不是所有事件都会有冒泡阶段?捕获阶段有什么用?在有些情况下我们并不希望捕获和冒泡阶段中当前事件的进一步传播,那么如何阻止捕获和冒泡?如何注销一个事件?比如像a标签,当你点击后会有一个默认行为,那么我们怎么取消默认事件?第一个问题:是不是所有事件都会有冒泡阶段?答:并不是所有事件都会有冒泡阶段,请参考https://developer.mozilla.org/zh-CN/...原创 2020-03-31 10:57:55 · 156 阅读 · 0 评论 -
浏览器基础(1)-事件机制
事件机制事件触发三阶段捕获阶段目标阶段冒泡阶段事件触发三阶段告一段落,我们来思考以下问题:事件的注册addEventListener接下来我们看一个例子事件的注册就告一段落,我们来思考以下问题:事件代理例子事件代理的优点事件机制就告一段落,对于文中的问题会在相对于的问题解答文章中给出。如有错误,希望大家指正,下次见。事件触发三阶段 事件触发三个阶段...原创 2020-03-30 21:42:52 · 446 阅读 · 0 评论