- 博客(13)
- 收藏
- 关注
原创 JavaScript中深拷贝的几种方法
1、cpu在堆内存中重新开辟一个存储空间,用于储存这个完全克隆一个一模一样的对象;2、在栈中会存储一个引用地址,用来指向新开辟的堆内存内容;3、改变原对象,新对象不会改变;1、不在堆内存中重新开辟空间,只复制拷贝对象栈内存中的引用地址。2、改变原对象,新对象会改变;3、本质上两个对象(数组)依然指向堆内存的同一块存储空间;
2024-07-25 00:01:48
208
原创 vscode-tab缩进失效-ctrl+m切换
在vscode中,ctrl+m后会切换tab键的焦点导致tab缩进失效,再次同时点击ctrl+m,会恢复tab缩进功能;中tab通常是用来进行代码缩进;
2024-07-18 14:04:10
449
原创 React-hooks 父组件通过ref获取子组件数据和方法
如果是class类,存在实例,可以通过 React.createRef() 挂载到节点或者组件上,然后通过 this 获取到该节点或组件。
2024-07-05 12:39:32
978
2
转载 Life is waiting
届时你将精神饱满精力充沛的带着一身的战利品走出困境。维克多的父亲在等一辈子也没能凑齐那最后一个签名;等待不一定是坏事,它或许是你找到救赎的唯一出路。但一定不要是什么都不做的等待。我们能等待的都是无法控制的,而我们终其一生却又都在等待。在等待中保持良好的乐观心态,继续生活,就像维克多一样。而自怨自艾只会更快的死去,送餐小哥在等一个不确定;它会将你无情地困在里面,但切记,无论你有多着急,有时你所能做的只有等待,困境时,又等待着翻盘;有钱时,等待着有闲;它可以是生活的困境,你所能做的只有等待,
2024-03-26 01:01:06
38
原创 浏览器渲染进场-GUI渲染线程
GUI线程渲染的结果不会立刻呈现在屏幕上,等屏幕刷新时才会呈现出来。屏幕刷新频率一般60HZ,即16.6ms(1000ms/60)刷新一次屏幕。6、当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行;,当JS引擎执行时GUI线程会被挂起(相当于被冻结了),GUI更新会被保存在一个队列中。在浏览器时间进程eventLoop机制中,GUI渲染线程是在当前。2、css代码转换为cssom (css object model);5、将布局绘制(paint)在屏幕上;
2024-03-20 17:37:11
520
原创 浏览器进程和事件循环eventloop机制(三)
第一,由于JavaScript是可操纵DOM元素的,如果在修改这些元素属性同时渲染界面(即JS线程和UI线程同时运行),那么渲染线程前后获得的元素数据就可能不一致了。第二,由于JavaScript没有锁的概念,如果同时操作DOM元素,会发生冲突,产生问题因此为了防止渲染出现不可预期的结果,浏览器设置GUI渲染线程与JS引擎为互斥的关系,当JS引擎执行时,GUI线程会被挂起,GUI的更新则会被保存在一个队列中等到JS引擎线程空闲时立即被执行。
2024-03-12 22:36:27
1646
2
原创 浏览器进程和事件循环eventloop机制(二)
看到这里,首先,应该对浏览器内的进程和线程都有一定理解了,那么接下来,再谈谈浏览器的Browser进程(控制进程)是如何和内核通信的,这点也理解后,就可以将这部分的知识串联起来,从头到尾有一个完整的概念。然后在这前提下,看下整个的过程:(简化了很多)这里绘一张简单的图:(很简化)
2024-03-12 00:23:13
184
原创 浏览器进程和事件循环eventloop机制(一)
进程-->CPU 分配资源的最小单位,同一个时间内单个CPU 只能运行一个进程,单个 CPU一次只能运行一个任务;线程-->CPU 调度的最小单位,一个进程里面包含多个线程。
2024-02-26 23:36:01
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人