知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 1000+。现在转载到微信公众号中。链接:https://www.zhihu.com/question/350289336/answer/910970733

其他回答的已经很好了。

刚好最近在写学习源码整体架构系列,所以来回答下这个问题。先把 JS 基础打好。比如至少作用域、原型链、异步等要掌握好。数组、字符串、正则、对象等 API 一定要熟练,不熟练也可以查阅 MDN[1]文档,也可以看以下我推荐的文章熟悉一遍。【深度长文】JavaScript 数组所有 API 全解密[2]

JavaScript 字符串所有 API 全解密[3]

正则可以看这个《JavaScript 正则迷你书》[4]

对象 API 看我写的这篇~JavaScript 对象所有 API 解析 | 若川的博客[5]

掌握 API 后,再掌握 new、call、apply、bind,JS 的继承、JS 的 this 指向这些。关于这些,我写了一个面试官问系列,可以看看。若川的知乎专栏[6]

有了以上这些基础后,接下来就是先看相对简单的 JS 库或框架的源码。比如 jQuery、underscore、lodash、axios 这些相对简单的源码。

怎么看源码?

  1. 借助调试

可以调试后打包后的源代码。也不用每个函数都知道是干嘛的,理清主线即可。

  1. 多搜索几篇别人写的高赞源码文章,看别人文章,是站在巨人的肩膀上。

  2. 不懂的地方查阅,记录下来。写文章记录下来,觉得写的还不错,发布出来。

经过一系列的学习。刚开始可能看的很慢,不懂的地方查阅,记录下来,就是一种成长。这样就会有一定的正反馈。越容易持续看完。到后期看着看着,会发现调试一遍,很多代码都类似,很容易看懂,越学越快,越看越上瘾,那说明成长很快。

  1. 最后总结原理

总结自己看完这个框架或者库的原理是什么,跟网上资料对比,学为已用。

有一定成长后,再去看 vue、vuex、vue-router、react、react-router、react-redux 等更大型的框架或者库的源码。

也可以看我写的学习源码整体架构系列来学习,学习 vuex 源码整体架构,打造属于自己的状态管理库[7] 基本都写了如何调试代码,我就是按照上述流程来学习的。

我的博客可能阅读体验更好些。若川的博客[8]

如果最后发现,别人写的源码文章也不过如此,你也能写,能写得更好,那就是成长。

原创精选文章

工作一年后,我有些感悟(写于2017年)

高考七年后、工作三年后的感悟

面试官问:JS的继承

前端使用puppeteer 爬虫生成《React.js 小书》PDF并合并

学习 jQuery 源码整体架构,打造属于自己的 js 类库

学习underscore源码整体架构,打造属于自己的函数式编程类库

学习 lodash 源码整体架构,打造属于自己的函数式编程类库

学习 sentry 源码整体架构,打造属于自己的前端异常监控SDK

学习 vuex 源码整体架构,打造属于自己的状态管理库

微信公众号交流

主要发布前端 | PPT | 生活 | 效率相关的文章,长按扫码关注。欢迎加我微信lxchuan12(注明来源,基本来者不拒),拉您进【前端视野交流群】,长期交流学习~

参考资料

[1]

MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript

[2]

【深度长文】JavaScript数组所有API全解密: http://louiszhai.github.io/2017/04/28/array/

[3]

JavaScript字符串所有API全解密: http://louiszhai.github.io/2016/01/12/js.String/

[4]

《JavaScript正则迷你书》: https://juejin.im/post/59cc61176fb9a00a437b290b

[5]

JavaScript 对象所有API解析 | 若川的博客: http://lxchuan12.github.io/js-object-api

[6]

若川的知乎专栏: https://zhuanlan.zhihu.com/lxchuan12

[7]

学习 vuex 源码整体架构,打造属于自己的状态管理库: https://zhuanlan.zhihu.com/p/92906380

[8]

若川的博客: https://lxchuan12.cn/posts

由于公众号限制外链,点击读原文,或许阅读体验更佳,觉得文章不错,可以点个在看呀^_^

知乎问答:一年内的前端看不懂前端框架源码怎么办?相关推荐

  1. php 公众号 框架 知乎,知乎问答:一年内的前端看不懂前端框架源码怎么办?

    知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 1000+.现在转载到微信公众号中.链接:https://www.zhihu.com/question/350289336/an ...

  2. 小白前端之路:手写一个简单的vue-router这几年,好像过的好快,怀念我的大学生活。 - 连某人 大三实习生,之前写过简单MVVM框架、简单的vuex、但是看了vue-router的源码(看了

    这几年,好像过的好快,怀念我的大学生活. 连某人 大三实习生,之前写过简单MVVM框架.简单的vuex.但是看了vue-router的源码(看了大概)之后就没有写,趁着周末不用工作(大三趁着不开学出来 ...

  3. 初学者也能看懂的 Vue2 源码中那些实用的基础工具函数

    1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.l ...

  4. 使用ajax获取后台数据怎么打印,我用ajax获取后台数据并展示在前端页面的方法【源码】...

    <我用ajax获取后台数据并展示在前端页面的方法[源码]>由会员分享,可在线阅读,更多相关<我用ajax获取后台数据并展示在前端页面的方法[源码](2页珍藏版)>请在人人文库网 ...

  5. 自学者福利!知乎上已获千赞,原理+实战+视频+源码

    前言 不清楚你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开 ...

  6. 轻轻松松看懂Spring AOP源码

    轻轻松松看懂Spring AOP源码 https://baijiahao.baidu.com/s?id=1596466083334197175&wfr=spider&for=pc 如果 ...

  7. [vue] 你有看过vue的源码吗?如果有那就说说看

    [vue] 你有看过vue的源码吗?如果有那就说说看 看过 看不懂 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

  8. [vue] 你了解axios的原理吗?有看过它的源码吗?

    [vue] 你了解axios的原理吗?有看过它的源码吗? 1.axios通过对Promise的封装实现异步请求: 2. if(answer == '有'){ if(这个问题到此为止){ return ...

  9. dubbo 支持服务降级吗_dubbo面试题!会这些,说明你真正看懂了dubbo源码

    整理了一些dubbo可能会被面试的面试题,感觉非常不错.如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面.你可以尝试看能不能回答下.我们一起看下有哪些问题吧? dubbo中&qu ...

最新文章

  1. 孙正义看未来30年:这个趋势,永远不会错(附完整PPT)
  2. asp.net FileUpload随想随记
  3. leetcode:Plus One
  4. 从0开始利用宝塔linux面板+WordPress一键部署搭建个人的博客介绍
  5. 吴恩达 coursera ML 第八课总结+作业答案
  6. React解决长列表方案(react-virtualized)
  7. Angular单元测试ComponentFixture的实例化过程明细
  8. Android 软键盘自动弹出和关闭
  9. android释放全局变量,Android全局变量
  10. Android学习笔记---Android平台1.使用dom解析xml文件
  11. Java面向对象之多态(向上、向下转型) 入门实例
  12. c mysql开发工具_Windows平台下Mysql C程序设计
  13. JSZip 的简单介绍
  14. 微信公众号支付接口php代码,关于微信支付PHP SDK之微信公众号支付实现代码
  15. python怎么做相加两个变量_2组语法,1个函数,教你用Python做数据分析
  16. 全面了解#中国加密艺术圈、元宇宙和就业
  17. 阿里云服务器租用收费标准(精准费用报价更新)
  18. 奇迹服务器断开怎么修复,奇迹挂机怎么总是掉线?
  19. FPS游戏:D3D实现游戏人物上色
  20. 【一】软件测试的起源与发展介绍

热门文章

  1. vfp赋值超过7位出错_JDK1.7下的HashMap的源码分析
  2. python棋盘最短路径_【leetcode】64. Minimum Path Sum 棋盘最短路径
  3. 如何在vsc上下载php扩展包,正确的 Composer 扩展包安装方法
  4. codeforces 1060 A
  5. String.slice
  6. 他山之石,可以攻玉——来自亚马逊的电商启示录
  7. 内存泄露检测 vld
  8. python 波形发生_事件与信号
  9. vue 点击渲染ajax,vue中在页面加载时发送ajax请求获取数据渲染不到页面上
  10. Java基础 —— 变量,选择,循环,数组,输入与输出等