手写一个Promise

2020-10-28
阅读 6 分钟
1.1k
Promise有三个状态,分别为 成功 fulfilled 失败 rejected 等待pending (pending=>fulfilled pending=>rejected) 一旦状态确定就不可更改

javascript函数式编程二(1-1-2)

2020-10-28
阅读 4 分钟
1.1k
前面说了函数式编程的一些基本概念,现在来说下函子Functor容器:包含值和值的变形关系(这个变形关系就是函数)函子:是一个特殊容器,通过一个普通对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理(变形关系,函数)Functor函子 {代码...} 函数式编程的运算不直接操作值,而是由函子完成。函子就...

javascript函数式编程一(1-1-1)

2020-10-27
阅读 6 分钟
1.6k
为什么要学习函数式编程函数式编程时很古老的一个概念,一个编程范式。函数式随着react流行收到越来越多的关注Vue3也开始拥抱函数式编程函数式编程可以抛弃this打包过程可以更好利用tree shaking过滤无用代码方便测试,方便并行处理有很多库可以帮助我们进行函数式开发:lodash,underscore,ramda什么是函数式编程函数式...

javaScript之异步发展史二(generator,async)

2020-10-18
阅读 3 分钟
1.2k
接着来说,generator生成器函数:看似同步的异步流程控制风格。基础部分可以看一下阮一峰老师的 生成器函数的概念了解一下。ECMAScript 6 入门 生成器这里只做一些 生成器函数配合promise的高级使用。在生成器函数中可以 同步的使用try catch来捕获错误。生成器中可以使用yield 来等待 异步promise的返回,这样我们配合...

如何实现一个mini-react的大概思路

2020-10-17
阅读 15 分钟
1.9k
这个transform-react-jsx就是将jsx转换成js的babel插件,它有一个pragma项,可以定义jsx转换方法的名称,你也可以将它改成h(这是很多类React框架使用的名称)或别的。

javaScript之异步发展史一(回调,promise )

2020-10-13
阅读 9 分钟
1.3k
如果javascrip程序发出一个ajax请求,从服务器获取一些数据,那你就在一个函数(通常称为回调函数)中设置好响应代码,然后javascrip引擎会通知宿主环境:这个回调函数暂停执行,你一旦完成网络请求,拿到数据就请调用这个回调函数。然后浏览器就会设置侦听来自网络的响应,拿到数据之后,就会把回调函数插入到事件循环,以...

javascript之排序及搜索和去重算法

2020-09-29
阅读 6 分钟
1.4k
3.插入排序,每次排一个数组项,以此构建最后排序数组,假定第一项已经排序过,接着和第二项进行比较-,看第二项是否要插入第一项之前,接着和第三项比较,看需要查到哪,以此类推/排序小型数组,这个比选择和冒泡性能好。

javascript数据结构之树(二叉搜索树,平衡二叉树,红黑树)

2020-09-13
阅读 13 分钟
1.6k
树是一种分层数据的抽象模型,一个树结构包含一系列存在父子关系的节点,每个节点都有一个父节点(除了顶部第一个节点)以及零个或多个子节点,位于树顶部的节点叫根节点。

javascript数据结构之链表

2020-09-09
阅读 8 分钟
1.3k
要储存多个元素,js中数组可能是最常用的数据结构,但是从数组的起点或中间插入或者移除项的成本很高,因为需要移动元素。链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置,而是每个元素由一个存储元素本身的节点和指向下一个元素的引用组成,这是正常的链表,双向链表比正常的多了一个指向...

JavaScript数据结构杂谈(双端队列)

2020-09-08
阅读 2 分钟
908
双端队列是与队列类似的项的有序集合,其实本质就是队列,只不过是前端与后端都支持插入和删除操作的队列,更实用,所以也就不存在先进先出这种说法了。我们可以通过数组来实现,但是为了写出一个更高效得数据结构,使用对象来实现。 {代码...} 也可以使用链表来实现这种结构链表的实现该内容借鉴于学习javascript数据结...

JavaScript数据结构杂谈(栈)

2020-09-07
阅读 2 分钟
755
使用weakMap保证属性私有,weakMap必须用键才能取出值,它没有entries,keys,values等迭代器方法,所以除非知道键,否则没法取出值。