- 博客(6)
- 收藏
- 关注
原创 React scheduler 源码分析(16.8版本)
优化背景:在react16 版本之前,react 的更新渲染存在着一些性能的问题,这个问题产生的原因是因为在更新/渲染时,采用递归的方式(栈调度器),而递归有一个不好的地方就是,他不能被随意的break;也不能在break之后也很难恢复到break之前的状态,而因为浏览器是单线程的,V8 引擎执行js 和 渲染引擎渲染页面是两个互斥的行为,这也就是说当更新任务太庞大的时候,js执行太久而致使页面丢帧,不流畅,甚至卡顿。优化方式react16 之后,react团队在react中加入了一个全新的架构:Fi
2020-05-21 10:34:14 561 1
原创 前端算法题--岛屿的个数
题目: 给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。eg1:[ [1,1,1,1,0], [1,1,0,1,0], [1,1,0,0,0], [1,0,0,0,0]]控制台输出 1eg2:[ [1,1,1,0,0,0,1], [1,0...
2019-07-30 16:21:20 1305
原创 浏览器缓存
对于一个网站来讲,缓存的重要性不言而喻,当一个网站足够大的时候,往往很注重用户体验的问题,而当一个网站用户足够多的时候服务器是否能承受住高并发所带来的压力。针对上述两种情况,缓存的存在就有其一定的理由了。浏览器缓存分很多种:HTTP缓存,cookie ,sessionStorage,localStorage。cookie其实cookie存在的价值并不在于浏览器缓存。发明cookie的作者最早...
2019-07-29 14:44:13 132
原创 头条面试题--穷举算法
面试题目: 实现一个函数,给三个参数,data是整型且不重复数组,m和sum都是一个整数,从data中取出n个整数,使它们的和为sum,求出所有符合的组合解题思路: 从这道题目中我们能看出来,这部分我们要做的就是先将,该数组中n个元素所能组成所有情况罗列出来,嗯…没错,是我们高中学习的排列组合的知识 即其实忘记的公式的同学也不必惊慌,因为该公式和我们解这道算法题没有什么太大的关系,不过话都赶...
2019-07-25 16:46:37 509
原创 js如何优雅地使用数组
Array.indexOf && Array.find对于 indexOf MDN文档中描述为:返回数组中给定元素的第一次出现的索引,如不存在返回 -1;在此无需赘述,提起indexOf 不得不说一道比较经典的面试题,废话不说上代码let Arr = [1,2,3,4,5,6,7,8,9,1,1,1,2,3,3,4,5,6,7,7,87,8]let noRepeat =...
2018-09-30 23:19:55 350 1
原创 reduce实现极简化的小工具
1. reduce介绍reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)从左到右依次处理。并返回最终的处理值arr.reduce(callback, init);reduce 接收两个参数,其中的callback是处理数据的一个回调函数其中接收四个参数,init为处理数据的起始值。arr.reduce((preResult, curValue...
2018-09-27 18:14:53 252 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人