自定义博客皮肤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 like 框架

my-react项目是一个React like的开源框架,整个核心部分采用Typescript开发,并且也提供了类似于React的包结构,不同的包负责不同的功能模块,在api层面实现了对ReactReactDOM的完整替换,并且能够兼容现有的基本所有React生态,是居家学习、测试debug的不二之选 ~

2023-04-05 14:44:54 151 1

原创 react的状态管理以及redux

react的状态管理与redux在react传统的class组件中,进行组件状态管理可以粗略的概括为3种方式:1. props受控组件2. state非受控组件3. context嵌套传值其中受控组件大多依据父组件传入的props控制自身的状态,这也引发了一个问题:如何更新受控组件的状态?好在js的先天优势,灵活的函数式语法,可以通过父组件传入一个方法给子组件,子组件调用这个方法并传入一些适当的值,父组件就能够接收到对应的值并进行props更新操作,这也是子组件给父组件传值的方式,也是子组件间接更

2020-09-30 23:22:23 261 1

原创 IPV4地址解析为10进制数,使用位运算

使用位运算解析IPV4地址function ipToInt(ip) { ip = ip.split(".").map(Number); let re = 0; for (let i = ip.length - 1; i >= 0; i--) { re = re | (ip[i] << ((ip.length - 1 - i) * 8)); } return re >>> 0;}解析过程分为以下几步:1. 切割转换,将原始ipv4地址字

2020-09-24 17:34:40 1319

原创 redux中间件原理

redux中间件实现原理1.开始 --> 增强store的dispath方法,使用额外的方法将原始方法进行替换 let dispath = store.dispath; function log(action) { console.log('....') let re = dispath(action); console.log('....'); return re; } store.dispath = log;2.

2020-09-08 14:38:22 241

原创 使用递归下降解析一个JSON字符串

使用js解析JSON字符串 使用递归下降算法 // 记录解析的索引 var index = 0; // 解析入口函数 function parseItem(str) { let re = null; if (str[index] == "," || str[index] == ":") { index++; } if (str[index] == "[") { re = parseArray(str); } else if (str[index]

2020-06-30 16:27:54 472

原创 使用递归解决问题

使用递归解决问题的一些灵感台阶问题: 一共有10阶台阶, 每一次可以踏上一步或者两步, 问一共有多少种不同的组合方式?这是一个可以使用递归的经典问题, 首先给出最核心的方法, 即需要递归调用的方法public static int climb(int start) { if (start == 10) { return 1; } els...

2020-01-10 21:37:27 436

原创 位运算获取二进制中1的个数详解

获取一个正整数的二进制中1的个数, 使用位运算实现function get(num) { let count = 0; while(num > 0) { num = num & (num - 1); count++; } return count;}原理形如二进制数’00100001000100’, 最大效率获取其中1的个数:1. 首先创建一个新的整数为原...

2020-01-08 20:19:46 976

原创 排序算法总结:选择,冒泡,插入,归并,快排,堆排

实现及判断常见排序方法的效率创建代理接口public interface MySortTest { // 测试自带的方法 void testArrays(int[] iArr); // 测试选择法排序 void testSelectionSort(int[] iArr); // 测试冒泡法排序 void testBubbleSort(int[...

2019-12-17 21:18:39 158

原创 使用递归实现八皇后算法,一维数组实现,可扩展

使用Java中一维数组与递归实现八皇后算法直接上代码直接上代码public class DiGui { // 记录格子数 private int len; // 生成对应长度的数组,此处使用包装类方便的List后面转换 private Integer[] irr; // 记录符合要求的放置 private int status = 0; ...

2019-11-26 19:25:39 277

空空如也

空空如也

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

TA关注的人

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