jQuery原始碼研究 怎麼看原始碼

2021-09-07 11:54:08 字數 970 閱讀 8591

這幾天有想看原始碼的想法,於是就開始了原始碼的研究,經過幾天的摸索發現看原始碼還是有點技巧在裡面的,想著把這些東東寫下來作為乙個小總結。

在乙個多月前我對vue原始碼進行了一次研究,那時看原始碼的方式基本上是從上往下看,結果看著看著就看不下去了,後來找了乙個很老的版本看,但看的還是不太懂,於是想著乾脆看一些工具類得了,因為工具類一般比較單一不會和上下文有太多的聯絡,有點基本都能看懂。

不管是什麼原始碼其研究方式基本上都是大同小異的,標題寫jquery是因為這幾天正好在研究jquery原始碼,這裡就拿jquery作為講解的物件。

研究原始碼的第一步找到原始碼的入口,找原始碼的入口可以通過打斷點的方式找到,比如像下面這樣

然後我們開啟chrome瀏覽器給console.log($())這行打個斷點,如下圖

通過以上方法我們找到了入口,剩下的就是跟著偵錯程式看看這些**怎麼執行的。

對於某個特定的方法我們也可以通過打斷點的方式來看這些**大概是在做什麼,比如jquery中的extend方法

打斷點不僅僅是用來除錯的,還可以當作學習的工具。通過打斷點的方式可以使我們對程式的執行過程以及依賴關係有個粗略的了解。

但不管是方法還是技巧它都只能解決我們的一部分問題,要真正的看懂和理解原始碼還存在很多其他因素。

看原始碼這件事吧,不要抱著一次就能看懂的心態去學,其實想想我們看原始碼不就是為了學習嘛,不一定說要全部都看懂,只要比之前進步一點也很不錯啊,這樣壓力會小點吧,有時壓力太大就不想學了。

原始碼可以從不同的角度去看,從架構,從細節、又或是某些工具方法,如果技術不太好我們可以先從工具類方法看起,對一些複雜的方法可以先忽略一些細節先搞清楚它是幹什麼的,這何嘗不是一種方法。

Soul原始碼分析 soul admin原始碼分析

頁面操作原始碼分析 public int createorupdate final selectordto selectordto else publishevent selectordo,selectorconditiondtos return selectorcount 與soul bootst...

併發工具原始碼系列 Exchanger 原始碼解析

exchanger 執行緒之間可以進行元素交換 了解就行了 但是如果多個執行緒都來交換了,那乙個 node 效率太低,所以就提供了個 node 陣列叫 arena 讓執行緒們當作場地來交換。那麼現在交換的話就要在迴圈中進行了,因為槽位多了,就有很多時候沒有交換物件或者被別的執行緒搶走了。屬性 sun...

MyBatis 原始碼解讀 帶著問題去看原始碼

分析原始碼,我們還是從程式設計式的demo 入手。spring 的整合我們會在後面講到。inputstream inputstream resources.getresourceasstream resource sqlsessionfactory sqlsessionfactory new sql...