手写 es6 函数,Promise 特性,lodash 库的函数实现,模拟 vue,React 等前端框架的实现和原理的理解。
手动实现各种函数,包括不限于 ES6 等函数的方法
方法名称(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 | -- |
方法名称(name) | 位置(position) | 作用(effect) |
---|---|---|
assign | functions/Object/assign.js | -- |
reverseAssign | functions/Object/reverseAssign.js | 逆向 assign |
orderAssign | functions/Object/orderAssign.js | 逆向 reverseAssign |
方法名称(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 | 函数节流 |
手动实现各种 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 方法 |
模拟 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 |
手动实现各种数据结构
结构名称(name) | 位置(position) | 描述(desc) |
---|---|---|
Stack | dataStructure/Stack/index.js | 栈结构 |
Queue | dataStructure/Queue/index.js | 队列结构 |
工作中,各种场景会碰到的常用方法或类实现
名称(name) | 位置(position) | 描述(desc) |
---|---|---|
FMP | work/performance/FMP.js | 首次有效绘制时间 |
FCP | work/performance/FCP.js | 首屏时间 |