jsliang 求职系列 - 15 - 手写源码系列汇总

一 目录

不折腾的前端,和咸鱼有什么区别

目录
一 目录
二 jsliang 整理
三 参考文献
3.1 手写系列文章
3.2 手写 call/bind/apply
3.3 手写深拷贝和浅拷贝
3.4 手写 Promise

二 jsliang 整理

返回目录

本系列有 7 篇文章,19 个手写方法,大纲 32 个知识点。

手写系列存放位置:

各个手写具体实现:

  • [x] Promise

    • [x] 简写版 Promise(不支持异步)
    • [x] 手写 Promiseresolverejectthen
    • [x] 实现 Promise.all()
    • [x] 实现 Promise.race()
    • [x] 实现 Promise 异步调度器
  • [x] 防抖和节流

    • [x] 防抖
    • [x] 节流
    • [x] 防抖 + 节流(必定能触发的防抖)
  • [x] 浅拷贝和深拷贝

    • [x] 手写浅拷贝
    • [x] Object.assign
    • [x] 浅拷贝其他方法concat()slice()[...arr]
    • [x] 手写深拷贝
    • [x] JSON.parse(JSON.stringify())
    • [x] Lodash 的 _.cloneDeep()
    • [x] JQuery 的 $.extend()
  • [x] call+bind+apply

    • [x] 原生 call 和手写 call
    • [x] 原生 bind 和手写 bind
    • [x] 原生 apply 和手写 apply
  • [x] JSONP

    • [x] 基本原理:利用 script 标签的 src 没有跨域限制来完成实现
    • [x] 优缺点:只能 GET;兼容性好
    • [x] 简单实现:通过 url, params, callbackKey, callback 来定义 JSONP() 方法的参数
    • [x] 考虑多次调用:基于简单实现,添加数组保存 callback 的返回
  • [x] new

    • [x] 3 行代码手写 new
    • [x] 手写 new 的 5 个特点
    • [x] 完整版手写 new
  • [x] 其他

    • [x] Object.create()
    • [x] ES5 实现类继承
    • [x] instanceof
    • [x] 柯里化:求 add(1)(2)(3)
    • [x] 迭代器
    • [x] Ajax
    • [x] 数组扁平化:手撕、flat()reduce()
    • [x] 数组去重:手撕、Setfilter()
    • [x] 其他

三 参考文献

返回目录

本系列有 46 篇参考文献。

3.1 手写系列文章

返回目录

3.2 手写 call/bind/apply

返回目录

3.3 手写深拷贝和浅拷贝

返回目录

3.4 手写 Promise

返回目录

jsliang 的文档库由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议 进行许可。
基于 https://github.com/LiangJunrong/document-library 上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。

你可能感兴趣的