知乎问答:一年内的前端看不懂前端框架源码怎么办?
知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 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 这些相对简单的源码。
怎么看源码?
借助调试
可以调试后打包后的源代码。也不用每个函数都知道是干嘛的,理清主线即可。
多搜索几篇别人写的高赞源码文章,看别人文章,是站在巨人的肩膀上。
不懂的地方查阅,记录下来。写文章记录下来,觉得写的还不错,发布出来。
经过一系列的学习。刚开始可能看的很慢,不懂的地方查阅,记录下来,就是一种成长。这样就会有一定的正反馈。越容易持续看完。到后期看着看着,会发现调试一遍,很多代码都类似,很容易看懂,越学越快,越看越上瘾,那说明成长很快。
最后总结原理
总结自己看完这个框架或者库的原理是什么,跟网上资料对比,学为已用。
有一定成长后,再去看 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
由于公众号限制外链,点击阅读原文,或许阅读体验更佳,觉得文章不错,可以点个在看呀^_^
知乎问答:一年内的前端看不懂前端框架源码怎么办?相关推荐
- php 公众号 框架 知乎,知乎问答:一年内的前端看不懂前端框架源码怎么办?
知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 1000+.现在转载到微信公众号中.链接:https://www.zhihu.com/question/350289336/an ...
- 小白前端之路:手写一个简单的vue-router这几年,好像过的好快,怀念我的大学生活。 - 连某人 大三实习生,之前写过简单MVVM框架、简单的vuex、但是看了vue-router的源码(看了
这几年,好像过的好快,怀念我的大学生活. 连某人 大三实习生,之前写过简单MVVM框架.简单的vuex.但是看了vue-router的源码(看了大概)之后就没有写,趁着周末不用工作(大三趁着不开学出来 ...
- 初学者也能看懂的 Vue2 源码中那些实用的基础工具函数
1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.l ...
- 使用ajax获取后台数据怎么打印,我用ajax获取后台数据并展示在前端页面的方法【源码】...
<我用ajax获取后台数据并展示在前端页面的方法[源码]>由会员分享,可在线阅读,更多相关<我用ajax获取后台数据并展示在前端页面的方法[源码](2页珍藏版)>请在人人文库网 ...
- 自学者福利!知乎上已获千赞,原理+实战+视频+源码
前言 不清楚你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开 ...
- 轻轻松松看懂Spring AOP源码
轻轻松松看懂Spring AOP源码 https://baijiahao.baidu.com/s?id=1596466083334197175&wfr=spider&for=pc 如果 ...
- [vue] 你有看过vue的源码吗?如果有那就说说看
[vue] 你有看过vue的源码吗?如果有那就说说看 看过 看不懂 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题
- [vue] 你了解axios的原理吗?有看过它的源码吗?
[vue] 你了解axios的原理吗?有看过它的源码吗? 1.axios通过对Promise的封装实现异步请求: 2. if(answer == '有'){ if(这个问题到此为止){ return ...
- dubbo 支持服务降级吗_dubbo面试题!会这些,说明你真正看懂了dubbo源码
整理了一些dubbo可能会被面试的面试题,感觉非常不错.如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面.你可以尝试看能不能回答下.我们一起看下有哪些问题吧? dubbo中&qu ...
最新文章
- 孙正义看未来30年:这个趋势,永远不会错(附完整PPT)
- asp.net FileUpload随想随记
- leetcode:Plus One
- 从0开始利用宝塔linux面板+WordPress一键部署搭建个人的博客介绍
- 吴恩达 coursera ML 第八课总结+作业答案
- React解决长列表方案(react-virtualized)
- Angular单元测试ComponentFixture的实例化过程明细
- Android 软键盘自动弹出和关闭
- android释放全局变量,Android全局变量
- Android学习笔记---Android平台1.使用dom解析xml文件
- Java面向对象之多态(向上、向下转型) 入门实例
- c mysql开发工具_Windows平台下Mysql C程序设计
- JSZip 的简单介绍
- 微信公众号支付接口php代码,关于微信支付PHP SDK之微信公众号支付实现代码
- python怎么做相加两个变量_2组语法,1个函数,教你用Python做数据分析
- 全面了解#中国加密艺术圈、元宇宙和就业
- 阿里云服务器租用收费标准(精准费用报价更新)
- 奇迹服务器断开怎么修复,奇迹挂机怎么总是掉线?
- FPS游戏:D3D实现游戏人物上色
- 【一】软件测试的起源与发展介绍
热门文章
- vfp赋值超过7位出错_JDK1.7下的HashMap的源码分析
- python棋盘最短路径_【leetcode】64. Minimum Path Sum 棋盘最短路径
- 如何在vsc上下载php扩展包,正确的 Composer 扩展包安装方法
- codeforces 1060 A
- String.slice
- 他山之石,可以攻玉——来自亚马逊的电商启示录
- 内存泄露检测 vld
- python 波形发生_事件与信号
- vue 点击渲染ajax,vue中在页面加载时发送ajax请求获取数据渲染不到页面上
- Java基础 —— 变量,选择,循环,数组,输入与输出等