自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 原型和原型链

当我们访问属性或方法时,先从自身查找,自身找不到则通过对象的__proto__属性一层 一层向上查找,直到找到Object的prototype为止,所构成的链式结构称为原型链。这里有一点需要注意的是,每个函数都有一个prototype属性,这个prototype的constructor指向这个函数。Function构造函数也是,所有的函数都来源于此,Function也会被js引擎直接放到内存中。原型链末端的null,js引擎在处理的时候,会将其直接放到内存中。还有,要搞懂,函数本质上就是可以被调用的对象。

2024-05-21 21:24:16 737 1

原创 浏览器的渲染原理

线程池:一种多线程的处理形式,可以对所有线程进行同意的管理和控制,从而提高系统的运行效率,降低系统的运行压力。为了避免连续多次的操作导致反复计算布局树,浏览器会合并这些操作,当js代码全部完成后再进行统一计算,所以。reflow的本质就是重新计算layout树,当进行了影响布局树的操作后,主线程需要重新计算布局树。合成线程将指引信息交给GPU进程,由GPU进程产生系统调用,提交给GPU硬件,完成最终的屏幕成像。布局阶段会依次遍历DOM树,计算每个节点的几何信息,例如节点的宽高、相对包含块的位置。

2024-05-14 21:16:58 1494 2

原创 js中的计时器

原子钟:Atomic clock,是一种时钟,它以原子共振频率标准来计算及保持时间的准确。原子钟是世界上已知最准确的时间测量和频率标准,也是国际时间和频率转换的基准,用来控制电视广播和全球定位系统卫星的讯号。消息队列优先级别高于延时队列的都会影响计时器回调函数的执行时机。计时器能做到精确计时吗?

2024-05-13 21:42:28 305

原创 浏览器中消息队列的优先级

浏览器中消息队列中的任务没有优先级,FIFO但是消息队列有优先级(priority)根据W3C官方文档,队列类型(优先级)大致意思就是:如果微队列不为空的话,将最先进入微队列的任务作为结果从队列中取出来,执行。

2024-05-13 20:52:06 311

原创 浏览器中的异步

等操作,浏览器需要重新渲染绘制页面,这也是任务,会被添加到消息队列中排队。当其他线程完成任务后,将事先传递的callback包装成任务,添加到消息队列末尾等待主线程调度执行。渲染主线程直接将任务交给其他线程处理,自己立即结束任务,转而执行消息队列中的后续任务。如果遇到上述情况,让渲染主线程等待任务执行时机,会导致主线程。又是运行在渲染主线程上的,导致js也只能是单线程的。因为渲染进程只能开启一个渲染主线程执行任务,而。当某些任务发生时,如:定时器、网络通信、交互等。1.计时器完成后,需要执行的回调函数。

2024-05-13 18:30:26 185

原创 事件循环机制

一款多进程、多线程的程序,随着技术发展,现代的浏览器复杂程度与操作系统不相上下,内部工作及其复杂,所以在启动浏览器后,他会自动开启多个进程来处理工作,各个进程之间相互隔离,避免一个进程崩坏影响其他进程。4.根据W3C官方解释,每个任务有不同的类型,同类型的任务必须在同一个队列,不同类型的任务可以在不同的队列;其他线程(包括其他进程的线程)可以向队列中添加任务,新任务被添加到队列末尾(FIFO),如果主线程处于休眠状态,向队列中添加任务会唤醒主线程,进而循环从队列中拿取任务。

2024-05-13 14:31:12 998

原创 易始难终的第一篇CSDN文章!!!

母情节给老妈打了个电话,她没接!

2024-05-12 20:43:02 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除