作者:无语噶流浪 | 来源:互联网 | 2023-12-10 17:42
随着前端技术的发展,越来越多的开发者开始使用react、vue等web框架,但很少有人深入理解这些框架的源码。然而,这些框架底层都是由原生的javascript构建而成。对于初学前端的人来说,可能会认为javascript很容易上手,但实际上只是因为它被高度封装了。与能够使用封装类的人相比,能够理解框架原理的人则处于另一个层面。本文将深入剖析jquery源码,探寻框架底层的原理,帮助读者更好地理解web框架的运行机制。
媒介
跟着前端的不停發展,許多開闢人員已最先運用react、vue等web框架,然則很少有人去深切剖析vue以及react的源碼(本人也是,至今還停留在運用的層面)。框架的運用必將會有更新迭代的歷程,比方jquery、angular、react以及vue。然則扒開這些框架的最底層,卻照樣那些原滋原味的Javascript。
背景
剛最先學前端的小白,能夠以為Javascript這門弱言語異常輕易上手,覺得so easy(mom再也不必憂鬱我的進修),覺得一個禮拜就能夠寫出一個漂漂亮亮的網頁了,像什麼彙編啊、c言語啊、c++啊簡直是非人類的言語,事實上只是由於它被高度封裝了罷了,封裝了今後固然好用,就比方給c言語封裝類,然後拿來用就迥殊爽。然則事實上能夠運用c高度封裝類的人和能夠運用這些類的人能夠基礎不在一個層面上(封裝的人能夠要斟酌寄存器操縱、內存開釋、棧溢出躲避等種種細節題目)。web框架也是,能夠運用這些框架以及能夠深切明白框架道理的人,一樣能夠也不在一個層面上。能夠上面這些有點扯(寫的第一篇文章人人包涵),然則無論怎樣,不忘初心總歸是準確的,把急躁的外表去掉,踏踏實實一步步的走下去才是霸道。
興緻
不知道人人是在怎樣的契機下轉入前端這個行業,本人真的是由於個人的興緻愛好,之前在學校的時刻是以物聯網(嵌入式)為重要的行當,厥後導師請求運用嵌入式裝備開闢一個web服務器……,因而就最先了最low的網頁開闢(你能夠設想一下在嵌入式裝備上跑一個網頁會是什麼樣的機能體驗)。剛最先以為寫網頁超有意思的,像c言語這類東西嘛,你寫了一大堆代碼不僅要調試,還需要編譯、下載代碼到裝備,才看到你所謂的效果(如今的開闢這麼智能,一定不會這麼龐雜),然則網頁不一樣啊,一台電腦,一個編輯器,一個瀏覽器你就能夠夠最先所見即所得的新世界開闢……因而,我就最先從一個老坑跳進了一個充滿了歹意的新坑……
進修
進修分為許多種,每個人的進修方法也不一樣,有些牛逼的人進修效力就是迥殊高。我常常聽到什麼一個禮拜看完了jquery源碼是什麼程度啊,兩個禮拜看完了牛書啊…..我真的很崇敬你們的看書速率,也很崇敬你們的明白才能,寶寶做不到啊……寶寶笨,所以只好一點點的進修,一點點的寫代碼,一點點的調試,一點點的寫出感覺明白,有的時刻一遍不可就兩遍,兩遍明白了照樣不會用,就三遍……寧神,犀牛書就看了兩三遍,高等編程就看了兩三遍,css威望指南就看了兩三遍……沒辦法啊,你們這些大神所謂的看範例、看規範、看源碼寶寶真的學不會啊……
不論怎樣,我如今以為我的進修雖然效力不高,消費的時候多,然則真的在某些事情場所迥殊有效。許多人都以為這些陳舊的東西另有什麼進修的必要,那人家都去研討Javascript這麼言語底層是怎樣被封裝的之類的(我置信一定有如許的大神)……,那它們搞這些研討是為了幹嗎……
總結
emmmm…..,第一次發這篇文章,也不知道本身想表達個啥意思,雜亂無章的寫一堆,願望也有像我如許笨笨的人一向能夠對峙最初的進修,不忘初心,哪怕這些進修也是他人進修的履歷、他人進修的筆記、他人進修的書本嘛……終究只需學以致用那也是一種好的效果(進修歸進修,自我進修的才能照樣要不停提拔的),末了附上我客歲這個時刻進修的一本小筆記(jquery源碼剖析),內里連繫了許多犀牛書、高等程序設計以及別的大神博客的一些內容學問(比方閉包啊、作用域鏈啊、原型鏈啊、事宜機制等等),願望感興緻的小白能夠從中獵取一些有效的東西。(emmmmm…..近來還在寫一些css的筆記,有興緻的小白也能夠看下我的github.)
- 博客文章: jquery源碼剖析
- github地點:ziyi2