一 目录

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

目录
一 目录
二 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/ 处取得。