首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
前端搬运工ing
掘友等级
Web前端
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
4
文章 2
沸点 2
赞
4
返回
|
搜索文章
最新
热门
(学习笔记)浏览器工作原理与实践之如何系统地优化页面?
加载阶段: 是指从发出请求到渲染出完整页面的过程,影响这个阶段的主要因素有网络和JavaScript脚本。 交互阶段: 主要从页面加载完成到用户交互的整合过程,影响这个阶段的主要因素是JavaScript脚本。 关闭阶段: 主要是用户发出关闭指令后页面所做的一些清理操作。 Ja…
(学习笔记)浏览器工作原理与实践之为什么CSS动画比JavaScript高效?
每个显示器都有固定的刷新频率,通常是60HZ,也就是每秒更新60张图片,更新的图片都来自于显卡中一个叫前缓冲区的地方,显示器所做的任务很简单,就是每秒固定读取60次前缓冲区中的图像,并将读取的图像显示到显示器上。 显卡的职责就是合成新的图像,并将图像保存到后缓冲区中,一旦显卡把…
(学习笔记)浏览器工作原理与实践之CSS是如何影响到渲染流程的
在解析DOM的过程中,如果遇到了javascript脚本,那么需要先暂停DOM解析去执行javascript,因为JavaScript有可能会修改当前状态下的DOM. 不过在执行JavaScript脚本之前,如果页面中包含了外部CSS文件的引用,或者通过style标签内置了CS…
(学习笔记)浏览器工作原理与实践之async/await
Promise的编程模型依然充斥着大量的then方法,虽然解决了回调地狱的问题,但是在语义方面依然存在缺陷,代码中充斥着大量的then函数。 使用async/await可以实现用同步代码的风格来编写异步代码,不仅能让代码更加整洁美观,而且还能确保该函数始终都返回Promise。…
手撸Promise
then的链式调用: 使用 Promise 的时候,当 then 函数中 return 了一个值,不管是什么值,我们都能在下一个 then 中获取到。 值穿透性: 当我们不在then中放入参数,例promise.then().then(),那么其后面的then依旧可以得到之前t…
(学习笔记)浏览器工作原理与实践之Promise
嵌套调用,下面的任务依赖上个任务的请求结果,并在上个任务的回调函数内部执行新的业务逻辑,当嵌套层次多了之后,代码的可读性就变得很差。 任务的不确定性,执行每个任务都有两种可能的结果(成功或者失败),所以体现在代码中就需要对每个任务的执行结果做两次判断,这种对每个任务都要进行一次…
(学习笔记)浏览器工作原理与实践之宏任务和微任务
微任务就是一个需要异步执行的函数,执行时机是在主函数执行结束之后,当前宏任务结束之前。 微任务可以在实时性和效率之间做一个有效的权衡。 MutationObserver、Promise 以及以 Promise 为基础开发出来的很多其他的技术。 凡是在主线程上执行的任务都是宏任务…
(学习笔记)浏览器工作原理与实践之WebAPI:XMLHttpRequest是怎样实现的?
回调函数callback是在主函数doWork返回之前执行的。如上面代码。 异步回调是指回调函数在主函数之外执行。一般有两种方式: 把异步函数添加到微任务队列中,这样就可以在当前任务的末尾处执行微任务了。
(学习笔记)浏览器工作原理与实践之WebAPI:setTimeout是如何实现的?
为了支持定时器的实现,浏览器增加了延时队列。 由于消息队列排队和一些系统级别的限制,通过setTimeout设置的回调任务并非总是可以实时地被执行,这样就不能满足一些实时性要求较高的需求了。 原因: 在Chrome中,定时器被嵌套调用5次以上,系统会判断该函数方法被阻塞了,如果…
(学习笔记)浏览器工作原理与实践之消息队列和事件循环
每个渲染进程都有一个主线程,并且主线程非常繁忙,既要处理DOM,又要计算样式,还要处理布局,同时还需要处理JavaScript任务以及各种输入事件。为了让这些不同类型的任务在主线程中有条不紊的执行,就需要一个系统来统筹调度这些任务,这个统筹调度系统就是消息队列和事件循环系统。 …
下一页
个人成就
文章被点赞
17
文章被阅读
9,276
掘力值
276
关注了
24
关注者
3
收藏集
0
关注标签
71
加入于
2020-06-15