这几天有想看源码的想法,因而就开始了源码的研究,通过几天的摸索发现看源码仍是有点技巧在里面的,想着把这些东东写下来做为一个小总结。html
在一个多月前我对Vue源码进行了一次研究,那时看源码的方式基本上是从上往下看,结果看着看着就看不下去了,后来找了一个很老的版本看,但看的仍是不太懂,因而想着干脆看一些工具类得了,由于工具类通常比较单一不会和上下文有太多的联系,有点基本都能看懂。jquery
无论是什么源码其研究方式基本上都是大同小异的,标题写jQuery是由于这几天正好在研究jQuery源码,这里就拿jQuery做为讲解的对象。浏览器
研究源码的第一步找到源码的入口,找源码的入口能够经过打断点的方式找到,好比像下面这样架构
<script src="dist/jquery.js"></script> <script>console.log($())</script>
而后咱们打开Chrome浏览器给console.log($())这行打个断点,以下图工具
经过以上方法咱们找到了入口,剩下的就是跟着调试器看看这些代码怎么执行的。学习
对于某个特定的方法咱们也能够经过打断点的方式来看这些代码大概是在作什么,好比jQuery中的extend方法调试
打断点不单单是用来调试的,还能够看成学习的工具。经过打断点的方式可使咱们对程序的执行过程以及依赖关系有个粗略的了解。code
但无论是方法仍是技巧它都只能解决咱们的一部分问题,要真正的看懂和理解源码还存在不少其余因素。htm
看源码这件事吧,不要抱着一次就能看懂的心态去学,其实想一想咱们看源码不就是为了学习嘛,不必定说要所有都看懂,只要比以前进步一点也很不错啊,这样压力会小点吧,有时压力太大就不想学了。对象
源码能够从不一样的角度去看,从架构,从细节、又或是某些工具方法,若是技术不太好咱们能够先从工具类方法看起,对一些复杂的方法能够先忽略一些细节先搞清楚它是干什么的,这未尝不是一种方法。