乐趣区

关于前端:jsliang-求职系列-15-手写源码系列汇总

一 目录

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

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

二 jsliang 整顿

返回目录

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

手写系列寄存地位:

  • [x] 手写系列

各个手写具体实现:

  • [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 手写系列文章

返回目录

  • [x] 前端面试常见的手写性能【浏览倡议:30min】
  • [x] 32 个手写 JS,坚固你的 JS 根底(面试高频)【浏览倡议:30min】
  • [x] 22 道高频 JavaScript 手写面试题及答案【浏览倡议:30min】
  • [x]「中高级前端面试」JavaScript 手写代码无敌秘籍【浏览倡议:30min】
  • [x] 几道 JS 代码手写题以及一些代码实现【浏览倡议:30min】
  • [x] 三元 - 手写代码系列【浏览倡议:30min】
  • [x] CORS 原理及实现【浏览倡议:30min】
  • [x] JSONP 原理及实现【浏览倡议:30min】
  • [x] jsonp 的原理与实现【浏览倡议:10min】
  • [x] 20 道 JS 原理题助你面试一臂之力!【浏览倡议:30min】
  • [x] 7 分钟了解 JS 的节流、防抖及应用场景【浏览倡议:10min】
  • [x] 防抖和节流原理剖析【浏览倡议:10min】
  • [x] 前端性能相干:防抖、节流【浏览倡议:5min】
  • [x] 面试官 (6): 写过『通用前端组件』吗?【浏览倡议:20min】
  • [x] 面试官: 既然 React/Vue 能够用 Event Bus 进行组件通信, 你能够实现下吗?【浏览倡议:20min】
  • [x] 浅谈 instanceof 和 typeof 的实现原理【浏览倡议:10min】
  • [x] 解锁多种 JavaScript 数组去重姿态【浏览倡议:20min】
  • [x] 如何在 JavaScript 中更好地应用数组【浏览倡议:10min】
  • [x] 7 种办法实现数组去重【浏览倡议:20min】

3.2 手写 call/bind/apply

返回目录

  • [x] MDN – Arguments【浏览倡议:5min】
  • [x] MDN – call【浏览倡议:5min】
  • [x] MDN – apply【浏览倡议:5min】
  • [x] MDN – bind【浏览倡议:5min】
  • [x] 不必 call 和 apply 办法模仿实现 ES5 的 bind 办法【浏览倡议:1h】
  • [x] JavaScript 深刻之 call 和 apply 的模仿实现【浏览倡议:20min】
  • [x] this、apply、call、bind【浏览倡议:30min】
  • [x] 面试官问:是否模仿实现 JS 的 call 和 apply 办法【浏览倡议:10min】
  • [x] JavaScript 根底心法—— call apply bind【浏览倡议:20min】
  • [x] 回味 JS 根底:call apply 与 bind【浏览倡议:10min】

3.3 手写深拷贝和浅拷贝

返回目录

  • [x] 如何写出一个惊艳面试官的深拷贝?【浏览倡议:2h】
  • [x] 深拷贝的终极摸索(90% 的人都不晓得)【浏览倡议:1h】
  • [x] JavaScript 根底心法——深浅拷贝【浏览倡议:30min】
  • [x] JavaScript 专题之深浅拷贝【浏览倡议:20min】
  • [x] javaScript 中浅拷贝和深拷贝的实现【浏览倡议:20min】
  • [x] 深刻分析 JavaScript 的深复制【浏览倡议:20min】
  • [x]「JavaScript」带你彻底搞清楚深拷贝、浅拷贝和循环援用【浏览倡议:20min】
  • [x] 面试题之如何实现一个深拷贝【浏览倡议:30min】
  • [x] 面试官: 请你实现一个深克隆【浏览倡议:10min】

3.4 手写 Promise

返回目录

  • [x] 100 行代码实现 Promises/A+ 标准【浏览倡议:30min】
  • [x] 最简实现 Promise,反对异步链式调用(20 行)【倡议浏览:20min】
  • [x] BAT 前端经典面试问题:史上最最最具体的手写 Promise 教程【浏览倡议:30min】
  • [x] 一起学习造轮子(一):从零开始写一个合乎 Promises/A+ 标准的 promise【浏览倡议:大略看了遍,没后面分析的清晰】
  • [x] Promise 实现原理(附源码)【浏览倡议:大略看了遍,没后面分析的清晰】
  • [x] 分析 Promise 内部结构,一步一步实现一个残缺的、能通过所有 Test case 的 Promise 类【倡议浏览:写得比拟细,没后面分析的清晰】
  • [x] 小邵教你玩转 promise 源码【倡议浏览:写得比拟细,没后面分析的清晰】
  • [x] Promise 不会??看这里!!!史上最通俗易懂的 Promise!!!【倡议浏览:写得比拟细,没后面分析的清晰】

jsliang 的文档库由 梁峻荣 采纳 常识共享 署名 - 非商业性应用 - 雷同形式共享 4.0 国内 许可协定 进行许可。<br/> 基于 https://github.com/LiangJunrong/document-library 上的作品创作。<br/> 本许可协定受权之外的应用权限能够从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处取得。

退出移动版