![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
MrWangJustToDo
这个作者很懒,什么都没留下…
展开
-
react的状态管理以及redux
react的状态管理与redux在react传统的class组件中,进行组件状态管理可以粗略的概括为3种方式:1. props受控组件2. state非受控组件3. context嵌套传值其中受控组件大多依据父组件传入的props控制自身的状态,这也引发了一个问题:如何更新受控组件的状态?好在js的先天优势,灵活的函数式语法,可以通过父组件传入一个方法给子组件,子组件调用这个方法并传入一些适当的值,父组件就能够接收到对应的值并进行props更新操作,这也是子组件给父组件传值的方式,也是子组件间接更原创 2020-09-30 23:22:23 · 208 阅读 · 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 · 1245 阅读 · 0 评论 -
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 · 186 阅读 · 0 评论 -
使用递归下降解析一个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 · 410 阅读 · 0 评论 -
位运算获取二进制中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 · 908 阅读 · 0 评论