/deep-in-fe

explore front-end mystery 前端探秘

Primary LanguageJavaScriptMIT LicenseMIT

深入前端系列

Build Status codecov devDependencies Status Known Vulnerabilities Percentage of issues still open

JavaScript

  1. 实现一个完全符合 Promise A+ 规范的 Promise

    包含实例方法 then, catch, finally 和静态方法 resolve, reject, all, race, allSettled

  2. 模拟 async/await

  3. 实现 node EventEmitter

    包含 on, off, once, prependListener, setMaxListeners 等方法

  4. instanceof 运算符原理

  5. new 运算符原理

  6. JavaScript 类型检测

    • isNumber ✔
    • isString ✔
    • isBoolean ✔
    • isObject ✔
    • isObjectLike ✔
    • isPlainObject ✔
    • isArguments ✔
  7. 强大的 reduce

    • reduce 实现 map ✔
    • reduce 实现 filter ✔
    • 解析 URL queryString ✔
    • 串行执行 promise ✔
    • 函数管道 ✔
  8. 防抖

  9. 节流

    • 比较时间戳 ✔
    • 定时器 ✔
  10. 继承

    • 原型继承 ✔
    • 组合继承 ✔
    • ES6 class 继承 ✔
  11. 事件委托

  12. call, apply, bind

  13. 扁平化数组

    • reduce 递归 ✔
    • toString ✔
    • splice 非递归 ✔
    • 指定深度的 flatDepth ✔
  14. 模拟私有属性

  15. redux

    • createStore ✔
    • compose ✔
  16. 深度克隆

  17. ajax

    • 原生 ajax ✔
    • jsonp ✔
  18. 处理服务器返回 null

    • lodash get ✔
    • proxy ✔
  19. koa 中间件机制

  20. curry

  21. 并发限制调度器 scheduler

  22. 一些函数工具

    • once ✔
    • memorize ✔