自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 react+ts实现表格的无缝滚动(大屏展示,支持自定义配置,动态列配置等)

表格无缝滚动动态列表格无缝滚动实现效果实现思路通过定时器向上移动。当需要滚动时,定义两个ref,内容一样,第一个滚动完,第二个接上去实现无缝滚动(思路同轮播图)。使用示例。

2024-05-22 11:20:37 291

原创 万能的 Array.reduce()

Array.reduce() 的实战使用场景。

2024-05-21 13:34:02 116

原创 Promise总结与实战->处理并发与控制并发

三种状态pending 等待fulfilled 成功rejected 失败实例的两个过程pending -> fulfilled : Resolved(已完成)pending -> rejected:Rejected(已拒绝)实例方法then状态发生改变的时候触发。两个参数。第一个参数是resolve的时候走,第二个参数是reject的时候触发catch 一个参数,功能类似then第二个参数finally 没有参数,失败成功都会触发then示例// false。

2024-05-21 11:24:04 377

原创 五分钟搞懂react 的Fiber以及ref hooks原理及Object.seal()

当然,创建这样的数据结构还是为了使用的,每种 hooks api 都有不同的使用这些 memorizedState 数据的逻辑,有的比较简单,比如 useRef、useCallback、useMemo,有的没那么简单,比如 useState、useEffect。后来就引入了 fiber 架构,它以链表的形式以循环来模拟递归组件树,而放弃了递归调用,因为循环可以随时被中断,可以灵活的暂停、继续和丢弃执行的任务(requestIdleCallback API来实现)。(更新差异的,渲染真实的dom)

2024-05-21 11:21:45 1002

原创 利用map,set数组以及数组对象去重

【代码】利用map,set数组去重。

2024-05-15 11:11:43 94 1

原创 事件循环-新

事件循环又叫消息循环,是浏览器渲染主线程的工作方式。在 chrome 源码中,会开启一个不会结束的 for 循环 for(::),每次循环从消息队列取出第一个任务执行,而其他线程只需要在合适的时候将任务加入到队列末尾即可。过去把消息队列简单分为宏任务和微任务,现在这种说法已经无法满足浏览器复杂的环境,取而代之的施一公更灵活多变的处理方式。根据 w3c 的官方解释,每个任务有不同的类型,同类型的任务必须在同一个队列,不同的任务可以属于不同的队列。

2024-03-29 17:27:04 563 1

原创 浏览器渲染原理

问题?为啥合成线程不直接给硬件,要放到浏览器的 GPU 进程中转一下呢?渲染进程(沙盒):(1)渲染主线程(2)合成线程合成线程和渲染主线程在浏览器的渲染进程里,渲染进程在沙盒里(安全),隔离了硬件,无法调用系统.什么是 reflow?reflow 的本质就是重新计算 layout 树。当进行了会影响布局树的操作后,需要重新计算布局树,会引发 layout。为了避免连续的多次操作导致布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后再进行统一计算。

2024-03-29 17:22:44 858 1

原创 js异步执行顺序(微任务、宏任务)

setTimeout(() => {//执行后 回调一个宏事件console.log(‘内层宏事件3’)}, 0)console.log(‘外层宏事件1’);async function fun1() {console.log(“async1”)await fun2()console.log(“aysnc11”)}async function fun2() {console.log(“async2”)await func3()new Promise((resolve) =&g

2021-08-09 14:15:47 129

原创 Promise的方法

// Promise的方法 .all(), .race(), .reject(), .resolve(),// Promise的prototype原型链方法 .then(), .catch// promise三种状态pending fulfilled rejected// promise调用resolve方法,Promise变为操作成功状态,执行.then的第一个参数函数;调用reject执行.then的第二个参数函数或者.catch方法// Promise.all可以将多个Promise实例包装成

2021-08-09 14:13:22 400

空空如也

空空如也

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

TA关注的人

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