
前端
文章平均质量分 55
mmzzll2019
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前端实现一个异步的promise
面试经常被问道怎么实现Promise,下面我们来实现一个Promise。我在网上搜索了一堆实现方案,总感觉有些不符合我的期望,下面是我的一些参考的实现方案: 1. https://www.jianshu.com/p/43de678e918a 2. https://segmentfault.com/a/1190000016550260 MDN上的Promise文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Globa原创 2021-06-06 00:21:52 · 329 阅读 · 1 评论 -
js从0开始实现大整数加法
如果两个整数太大,超过了 2^52 - 1 的时候,做加法时,会出现精度损失的现象,这时候可以直接利用js提供bigInt类型来做加法,这里就不再赘述了。我这里是用字符串来输出做加法的结果,通过拆分数字来实现无精度损失的加法运算。具体实现如下: function sum(a, b, step = 9){ const ar1 = splitNumber(a, step) const ar2 = splitNumber(b, step) if (ar1[0] !== ar2[原创 2021-05-07 16:44:44 · 242 阅读 · 0 评论 -
React的Portals的用法
在线演示https://myp00yr1xx.codesandbox.io/react-portal 在线代码https://codesandbox.io/embed/myp00yr1xx?fontsize=14 不知道大家想过这样一个问题没有,我们创建了一个子组件后,要把它放到指定的dom元素下面,该怎么办? ReactDom提供了这样一个api // child可以是ReactElement,...原创 2019-04-17 03:35:32 · 867 阅读 · 0 评论 -
js浅拷贝和深拷贝的方法和坑
在c语言中有指针这个概念,浅拷贝的概念有点类似于引用指针。 对于普通的Boolean、String和Number不是通过new关键字产生的来说,深拷贝和浅拷贝没有区别。 const shallowCopyStrNumBool = (origin) => { return origin; } const deepCopyStrNumBool = (origin) => { if (...原创 2019-04-22 18:37:35 · 244 阅读 · 0 评论 -
React 之reconciliation--diff算法
参考文档https://reactjs.org/docs/reconciliation.html 传统的diff算法https://grfia.dlsi.ua.es/ml/algorithms/references/editsurvey_bille.pdf。为了用最少的操作,把一颗树结构转化成另外一颗树结构,使用了非常复杂的算法,复杂度达到了O(n^3),其中n为树的节点数。 与传统的diff算法...原创 2019-04-22 23:51:40 · 334 阅读 · 0 评论 -
自定义事件
查阅文档https://developer.mozilla.org/zh-CN/docs/Web/API/CustomEvent发现可以使用CustomEvent自定义事件。下面基于react-hook实现一个自定义事件example。 export const CustomEventHookTest = () => { const evt = useMemo(() => { ...原创 2019-05-07 23:16:56 · 160 阅读 · 0 评论