
es6
ccxCode
这个作者很懒,什么都没留下…
展开
-
Iterator和Symbol
迭代模式: 提供一种方法可以顺序获得聚合对象中的各个元素,是一种最简单也是最常见的一种设计模式。它可以让用户透过特定的接口巡访集合中的每一个元素而不用了解底层的实现 迭代器简介: 依照与迭代模式的思想而实现,分为内部迭代器和外部迭代器 内部迭代器: 本身是函数,该函数内部定义好迭代规则,完全接手整个迭代过程,外部只需要一次初始化调用 Array.prototype.forEach 外部迭代器: 本...原创 2020-03-29 22:54:07 · 285 阅读 · 0 评论 -
async+await
async简介 async函数,是Generator语法糖,通过babel编译后可以看出他就是Generator+co+Promise思想实现的。配合await使用 目的:优雅的解决异步问题 用法 async关键字定义的函数,返回的值是Promise实例。根据异步事件的调用结果,返回Promise对应的状态 const fs = require('fs') function readFile...原创 2020-03-29 21:36:48 · 250 阅读 · 0 评论 -
Generator
简介: 生成器,本身是函数,执行后返回迭代对象,函数内部要配合yield使用Generator函数分段执行,遇到Yields即暂停 特点: function和函数名之间需要带* 函数体内部Yield表达式,产出不同的内部状态 function* test() { let value1 = yield 'a' console.log(value1) let value2 = ...原创 2020-03-29 16:59:52 · 235 阅读 · 0 评论 -
手动模拟实现Map
基于hash算法 表 链表实现模拟 拿到对应的key值----> 转化得到hash值---->对应到相对的表的位置(这个其实使用一个数组实现) ----> 在对应的位置对链表进行操作 function myMap() { this.bucketLength = 8 this.bucket = [] this.init() } myMap.prototy...原创 2020-03-28 21:46:13 · 281 阅读 · 0 评论 -
手撕Promise代码
我的思路是根据这个Promise的使用方法,一步步用js还原其原理 // 这个回调函数传进来就开始执行了 let oP = new Promise((resolve, reject) => { resolve(1) }) // 这个要根据你的状态进行选择 Fulfilled pending Rejected oP.then((res) => { console.l...原创 2020-03-25 01:40:20 · 401 阅读 · 0 评论