会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
哥哦狗子
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
···
19
下一页
2023年2月17日
浏览器工作流程『从输入 URL 到页面展示
摘要: 导航 用户输入 用户在地址栏按下回车,检查输入(关键字 or 符合 URL 规则),组装完整 URL; 回车前,当前页面执行 onbeforeunload 事件; 浏览器进入加载状态。 HTTP请求过程 浏览器进程通过 IPC 把 URL 请求发送至网络进程; 查找资源缓存(有效期内); DNS 解
阅读全文
posted @ 2023-02-17 13:42 哥哦狗子
阅读(70)
评论(0)
推荐(0)
2023年1月4日
20| async/await
摘要: 。。。
阅读全文
posted @ 2023-01-04 20:46 哥哦狗子
阅读(41)
评论(0)
推荐(0)
19|Promise
摘要: JavaScript 引入 Promise 的动机 消灭嵌套调用和多次错误处理
阅读全文
posted @ 2023-01-04 20:44 哥哦狗子
阅读(38)
评论(0)
推荐(0)
2023年1月3日
15|消息队列和事件循环
摘要: 消息队列和事件循环系统来驱动浏览器页面 页面中的大部分任务都是在主线程上执行的,这些任务包括了: 渲染事件(如解析 DOM、计算布局、绘制); 用户交互事件(如鼠标点击、滚动页面、放大缩小等); JavaScript 脚本执行事件; 网络请求完成、文件读写完成事件。 为了协调这些任务有条不紊地在主线
阅读全文
posted @ 2023-01-03 22:54 哥哦狗子
阅读(94)
评论(0)
推荐(0)
14|V8是如何执行一段JavaScript代码的?
摘要: JavaScript 属于解释型语言,解释型语言编写的程序,在每次运行时都需要通过解释器对程序进行动态解释和执行。 解释器对源代码进行词法分析、语法分析,并生成抽象语法树(AST)和执行上下文。 根据 AST 生成字节码,并解释执行字节码。 生成字节码之后,接下来就要进入执行阶段了。 生成抽象语法树
阅读全文
posted @ 2023-01-03 21:19 哥哦狗子
阅读(73)
评论(0)
推荐(0)
13|JavaScript 的数据是如何回收的
摘要: 因为数据是存储在栈和堆两种内存空间中的,所以接下来我们就来分别介绍“栈中的垃圾数据”和“堆中的垃圾数据”是如何回收的。 调用栈中的数据是如何回收的 当一个函数执行结束之后,JavaScript 引擎会通过向下移动 ESP 来销毁该函数保存在栈中的执行上下文。 举例: function foo(){
阅读全文
posted @ 2023-01-03 19:22 哥哦狗子
阅读(133)
评论(0)
推荐(0)
12|JavaScript 中的数据是如何存储在内存中的
摘要: JavaScript 是什么类型的语言 JavaScript 是一种弱类型的、动态的语言。那这些特点意味着什么呢? 弱类型:支持隐式类型转换的语言称为弱类型语言,不支持隐式类型转换的语言称为强类型语言。意味着你不需要告诉 JavaScript 引擎这个或那个变量是什么数据类型,JavaScript
阅读全文
posted @ 2023-01-03 15:52 哥哦狗子
阅读(510)
评论(1)
推荐(0)
2022年12月30日
17 | React 事件机制
摘要: 无论是在面试场景下,还是在实际的开发中,React 事件相关的问题都更倾向于考验我们对事件工作流、事件特征等逻辑层面问题的理解,而非对源码细节的把握。所以掌握事件工作流、事件特征等逻辑层面的“主要矛盾”就可以。 回顾原生 DOM 下的事件流 W3C 标准约定了一个事件的传播过程要经过以下 3 个阶段
阅读全文
posted @ 2022-12-30 18:00 哥哦狗子
阅读(487)
评论(0)
推荐(0)
2022年12月29日
12|Fiber 架构的迭代动机与设计思想
摘要: 为什么会产生“卡顿”这样的困局? JavaScript 线程和渲染线程必须是互斥的:这两个线程不能够穿插执行,必须串行。当其中一个线程执行时,另一个线程只能挂起等待。在这样的机制下,当处理结构相对复杂、体量相对庞大的虚拟 DOM 树时,Stack Reconciler 需要的调和时间会很长,这就意味
阅读全文
posted @ 2022-12-29 23:02 哥哦狗子
阅读(218)
评论(0)
推荐(0)
11 | setState 到底是同步的,还是异步的?
摘要: 从一道面试题说起 import React from "react"; import "./styles.css"; export default class App extends React.Component{ state = { count: 0 } increment = () => {
阅读全文
posted @ 2022-12-29 22:32 哥哦狗子
阅读(53)
评论(0)
推荐(0)
1
2
3
4
5
···
19
下一页
公告