文章的原由,也是在羣內交流是回答一個小夥的問題,一扯就停不下來,但因爲我的知識面覆蓋有限,自身基礎又不夠紮實,僅供參考:javascript
問這個問題以前,我我的建議先搞清什麼是jquery,什麼是js?
jquery的優勢:他是經常使用的js工具方法的一堆封裝,他在必定程度上加快前端開發的速度,會縮短項目開發週期,會減小不少代碼。
缺點:由於jquery內部作了不少細節的處理,固然最終目的是爲了方便的調用。可是有些初學者誤覺得,js的原本面貌就是這個樣子。用Jquery去描述業務場景,而不是試圖用代碼邏輯來解決問題。因此不少人就此對jquery形成依賴。不少提問的時候問,這個問題用jquery怎麼解決。
爲何他可以像如今如此受歡迎,成爲一種事實的標準,是由於他的封裝充分考慮了開發者的習慣,在儘量大的角度來方便開發者調用與二次開發,這是他的一個優勢之一。具體體如今,類工廠鏈式方式的調用,好比:
$().show().animate(),好比set,get的統一參數處理。$().css('width') $().css({ width : 200 });
並且在早期版本兼容了低版本ie的不少bug,使開發的注意力真正的關注到邏輯與數據上來,而不是整天解決兼容問題。
其它優勢不一一等等。
至於如何使用好jquery,jquery提供的方便快捷封裝在整個前端開發流程佔多大的比例?爲何咱們必定要建議先學js,在學習其它框架,這是咱們要搞清楚的。
1. 其實如何使用好jquery,取決於原生js的基礎,什麼是原生js的基礎:
好比:js語句後面到底用不用加分號,不用加分號時在哪一個地方有坑?
js裏邊單雙引號是否有區別,他的標識名命名規則是怎麼樣的,爲何prototype與jquery都取$爲他的工廠函數標誌?若是你未來寫一個,還有沒有其它符號可用?
js裏邊保留字,關鍵字,有哪些?each與普通的for循環有多大的區別,他的好處在哪裏,他的壞處在哪裏,咱們何時該用他,何時不應用他,等等。
還有高級的,如何實現一個類的繼承,若是用jquery方便的繼承,什麼閉包,閉包的優缺點,什麼是事件代理,代理的優缺點。等等
上面的這些知識,在任何一個jquery相關書籍裏邊提的很少,而這些偏偏是一個js初學者必須掌握的。
1.JavaScript數組
2.JavaScript 函數基礎
3.Javascript 運算符
4.JavaScript 流程控制
5.JavaScript 正則表達式
6.JavaScript 變量
7.JavaScript 字符串函數
8.DOM 基本操做
2. jquery在整個開發過程當中充當了一個方便操做dom的工具方法集合,而前端開發除了操做經常使用的dom以外,還須要操做頁面的交互數據,模塊化開發,工程師發佈等等。誇張點說:jquery只是前端開發中的一個部分,他沒有任何一處能力徹底取代原生js。並且咱們須要瞭解的還有不少,具體見下文。
前面從我的的角度介紹了一下什麼是jquery,而後什麼是js,百度不少,不一一介紹。
3. 只有在學好原生js的基礎上,才能不少的學習jquery或其它框架。由於jquery與其它框架出現的初衷就是加快js開發,粗暴的理解,他對經常使用的js開發函數進行了封裝,因此js功底紮實,基本看api及說明就能很快的入手,這也是jquery及其它框架歡迎的根本。
而後我的建議:先學原生js,再學jquery,而後有空學習jquery源碼,才能更好的使用jquery。
而後問題來了,除了jquery以外還有什麼值得學習的主流js框架?
jquery 主要戰場仍是在dom操做這塊,順帶封裝了ajax或其它的經常使用方法。
yui雖然據說中止開發了,但他的代碼思想與那些yahoo jser付出,努力的結晶是值得咱們學習與默拜的。
除了jquery以外,ext是一個巔峯,須要瞭解一下。他是初期企業級UI框架解決的一個鼻祖,從必定程度上解決了當時企業級應用的複雜界面交互,可是後來因爲界面風格的單一化或自己一些性能問題,而被一些開發者棄用。
其它類ext的好比:
easyui, lightui,
j-ui, 這幾個,並無真正意義上顛覆或超越ext,但在天朝本地化或語言或自身業務模式上有了必定的微創新或發展。
因爲隨着前端交互或數據的提升,對前端的依賴也是愈來愈大,這樣前端的代碼也是愈來愈多,這樣的場景下就須要一個能解決代碼塊與塊之間的調用,多塊的代碼加載,等等這些問題的框架出現。這時候requirejs,seajs填補了這2個空白。
而後核心的模塊解決了,塊與塊的問題解決了,就剩下打包發佈了,最近業界有這三個東西作這方面的工做。
又隨着前端代碼的愈來愈複雜,不得不出現了javascript mvc的解決方案:
最後:
正是這些好用的很差用的,好玩的很差玩的,構建了這幾年來前端五彩繽紛的世界,不管從那一處下手,都能找到好玩的一處。也是正由於如此,因此有不少新人加入這個行業的緣由或動力。因此,堅持就是勝利,我爲個人選擇努力,我爲個人努力堅持,我爲個人堅持一直在期待