摘要:
const promiseAjax = (url,data)=>{ return new Promise((resolve,reject)=>{ const xhr = new XMLHttpRequest(); xhr.open(POST,url); xhr.setRequestHeader('C 阅读全文
摘要:
1⃣️.typeof 运算符号 缺点:typeof检测null的时候也会返回Object 2⃣️.instanceof运算符 优点:弥补了typeof不能具体检测属于哪个对象的局限性 缺点:不能用来检测和处理字面量方式创建出来的基本数据类型,即原始数据类型 function checkIsInsta 阅读全文
摘要:
基础概念 主线程:js引擎执行的线程,执行初始化代码(页面渲染、函数处理等) 工作线程:也称幕后线程,这个线程可能存在于浏览器或js引擎内,与主线程是分开的,处理文件读取、网络请求等异步事件。 Event Loop(事件循环):同步任务会直接在主线程中进行执行,而异步任务由工作线程进行处理,然后放入 阅读全文
摘要:
函数签名: function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>]; 添加函数只是惰性渲染。initialState 参数只会在组件的初始渲染中起作用,后续渲染时会被忽略。如果初始 sta 阅读全文
摘要:
虚拟DOM是一个能够代表DOM树的对象,在某些情况下虚拟DOM会比真实DOM快,情况如下: 1.减少DOM的操作(添加多个节点过程中,虚拟DOM可以将多次操作合并成一次操作|借助DOM diff算法,可以省去多余操作,仅操作新增,或者改变的节点) 2.能跨平台渲染(虚拟DOM不仅可以变成DOM,还可 阅读全文
摘要:
首先React不同于传统的diff算法,制定了三大策略,使得将时间复杂度O(n^3)转化为O(n) tree diff优化: 对于DOM节点跨层级的移动操作少到忽略不计策略,提出tree diff优化,对DOM树进行分层对比,只会对比同一层次的节点。并且仅只有删除和创建两种操作。(为了保持良好的性能 阅读全文