gzg1023 / fackAchieve

手写ES6高级函数,手写Promise,模拟数据结构 ,手写常用工具库函数及框架源码模拟实现。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fackAchieve

手写 es6 函数,Promise 特性,lodash 库的函数实现,模拟 vue,React 等前端框架的实现和原理的理解。

functions 文件夹

手动实现各种函数,包括不限于 ES6 等函数的方法

内容对应表

Array

方法名称(name) 位置(position) 作用(effect)
forEach functions/Array/forEach.js --
every functions/Array/every.js --
some functions/Array/some.js --
filter functions/Array/filter.js --
find functions/Array/find.js --
reduce functions/Array/reduce.js --
map functions/Array/map.js --
flat functions/Array/flat.js --
includes functions/Array/includes.js --

Object

方法名称(name) 位置(position) 作用(effect)
assign functions/Object/assign.js --
reverseAssign functions/Object/reverseAssign.js 逆向 assign
orderAssign functions/Object/orderAssign.js 逆向 reverseAssign

utils

方法名称(name) 位置(position) 作用(effect)
memoize functions/utils/memoize.js 缓存结果
curry functions/utils/curry.js 柯里化
compose functions/utils/compose.js 合并函数
getType functions/utils/getType.js 判断类型
isEqual functions/utils/isEqual.js 判断值相等
deepClone functions/utils/deepClone.js 深拷贝
getUrlData functions/utils/getUrlData.js 获取 url 参数
debounce functions/utils/debounce.js 函数防抖
throttle functions/utils/throttle.js 函数节流

feature 文件夹

手动实现各种 ES6 新特性

方法名称(name) 位置(position) 描述(desc)
MyPromise feature/attribute/MyPromise.js 符合 A+规范的 Promise 实现
call feature/method/call.js 手写 call 函数
apply feature/method/apply.js 手写 apply 函数
bind feature/method/bind.js 手写 bind 函数
new feature/method/new.js new 构造方法
instanceof feature/method/instanceof.js instanceof 方法

framework 文件夹

模拟 vue,React 等前端框架,了解原理

方法名称(name) 位置(position) 描述(desc)
vue framework/vue/mini-vue mini vue
vue-router framework/vue/mini-vue-router mini vue-router
react framework/react mini react

dataStructure 文件夹

手动实现各种数据结构

结构名称(name) 位置(position) 描述(desc)
Stack dataStructure/Stack/index.js 栈结构
Queue dataStructure/Queue/index.js 队列结构

work 文件夹

工作中,各种场景会碰到的常用方法或类实现

名称(name) 位置(position) 描述(desc)
FMP work/performance/FMP.js 首次有效绘制时间
FCP work/performance/FCP.js 首屏时间

About

手写ES6高级函数,手写Promise,模拟数据结构 ,手写常用工具库函数及框架源码模拟实现。


Languages

Language:JavaScript 97.4%Language:HTML 2.5%Language:Shell 0.1%