weixin_43436675
码龄6年
关注
提问 私信
  • 博客:657
    657
    总访问量
  • 3
    原创
  • 1,286,345
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2018-10-16
博客简介:

weixin_43436675的博客

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得0次收藏
创作历程
  • 3篇
    2021年
成就勋章
TA的专栏
  • 浏览器工作原理
    2篇
  • 前端
    3篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

setTimeout 实现原理

setTimeout 实现渲染进程所有运行在主线程上的任务都需要先添加到消息队列中,然后事件循环系统顺序执行消息队列eg: 解析 DOM; 改变 web 大小, 重新布局; js 垃圾回收; 异步执行 js 代码但是定时器的任务不能直接放置在消息队列中,他需要按照时间间隔来执行,因此,chrome 除了消息队列外,新增了个延时队列,在每次执行完任务后,执行延迟队列中的任务,计算出到期任务,依次执行代码实现:在每次新增一个定时器时,将定时器添加到 DelayTask 中执行消息循环时,在当前
原创
发布博客 2021.04.14 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

浏览器中的消息队列和事件循环

浏览器中的消息队列和事件循环渲染进程-主线程(dom/style/layout/JavaScript input/task)系统统筹以上任务就是消息队列和时间循环系统单线程处理任务顺序执行void MainThread(){ int num1 = 1+2; //任务1 int num2 = 20/5; //任务2 int num3 = 7*8; //任务3 print("最终计算的值为:%d,%d,%d",num1,num2,num3); //任务4
原创
发布博客 2021.04.14 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端常用设计模式

前端常用设计模式工厂模式工厂模式不关心工厂函数内部的逻辑,只关心根据用户传递的参数返回对应的实例;工厂函数隐藏复杂逻辑,只提供一个接口class Man { constructor(name) { this.name = name; } alertName() { alert(this.name); }}class Factory { static create(name) { return new Man(name); }}Factory.
原创
发布博客 2021.03.28 ·
72 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏