jQuery是繼Prototype之后又一個優(yōu)秀的JavaScript庫珍语,是一個由John Resig 創(chuàng)建于2006年1月的開源項目∶璩叮現(xiàn)在的jQuery團隊主要包括核心庫映九、UI鳍悠、插件和jQuery Mobile等開發(fā)人員以及推廣和網(wǎng)站設計哩都、維護人員魁兼。
jQuery憑借簡潔的語法和跨平臺的兼容性,極大地簡化了JavaScript開發(fā)人員遍歷HTML文檔、操作DOM咐汞、處理事件盖呼、執(zhí)行動畫和開發(fā)Ajax的操作。其獨特而又優(yōu)雅的代碼風格改變了JavaScript 程序員的設計思路和編寫程序的方式化撕〖肝睿總之,無論是網(wǎng)頁設計師植阴、后臺開發(fā)者蟹瘾、業(yè)余愛好者還是項目管理者,也無論是JavaScript初學者還是JavaScript高手掠手,都有足夠多的理由去學習jQuery憾朴。
jQuery的優(yōu)勢
jQuery強調的理念是寫的少做的多。jQuery獨特的選擇器喷鸽、鏈式操作众雷、事件處理機制和封裝完善的Ajax都是其他JavaScript庫望塵莫及的。概括起來做祝,jQuery有以下優(yōu)勢:
1砾省、輕量級; jQuery非常輕巧混槐,采用 UglifyJS 壓縮后编兄,大小保持在30kb左右;
注意:為了使jQuery變得輕巧纵隔,jQuery一直在尋求最好的壓縮工具翻诉,所以jQuery的壓縮工具也一直在變化,從最早采用Dean Edwards編寫的Packer捌刮,到后來使用Google推出的Closure Compiler進行壓縮,最后到目前使用UglifyJS進行壓縮舒岸;
2绅作、強大的選擇器; jQuery允許開發(fā)者使用從CSS1到CSS3 幾乎所有的選擇器蛾派,以及jQuery獨創(chuàng)的高級而復雜的選擇器俄认。另外還可以加入插件使其支持XPath選擇器,甚至開發(fā)者可以編寫屬于自己的選擇器洪乍。由于jQuery 支持選擇器這一特性眯杏,因此有一定CSS經(jīng)驗的開發(fā)人員可以很容易地切入到jQuery的學習中;
3壳澳、出色的DOM操作的封裝岂贩; jQuery封裝了大量的常用的DOM操作,使開發(fā)者在編寫DOM操作相關程序的時候能夠得心應手巷波。jQuery輕松地完成各種原本非常復雜的操作萎津,讓JavaScript新手也能寫出出色的程序卸伞;
4、可靠的事件處理機制锉屈; jQuery的事件處理機制吸收了JavaScript專家Dean Edwards編寫的事件函數(shù)的精華荤傲,使得jQuery在處理事件綁定的時候相當可靠。在預留退路(graceful degradation)颈渊、循序漸進以及非入侵式(Unobtrusive)編程思想方面遂黍。jQuery也做的非常不錯;
** 5俊嗽、完善的Ajax雾家;** jQuery將所有的Ajax操作封裝到一個函數(shù) $.ajax() 里,使得開發(fā)者處理Ajax的時候能夠專心處理業(yè)務邏輯而無需關心復雜的瀏覽器兼容性和XMLHttpRequest對象的創(chuàng)建和使用的問題乌询;
6榜贴、不污染頂級變量; jQuery只建立一個名為jQuery的對象妹田,其所有的函數(shù)方法都在這個對象之下唬党。其別名$也可以隨時交出控制權,絕對不會污染其他的對象鬼佣。該特性使jQuery可以與其他JavaScript庫共存驶拱,在項目可以放心地引用而不需要考慮到后期可能的沖突;
7晶衷、出色的瀏覽器兼容性蓝纲; 作為一個流行的JavaScript庫,瀏覽器的兼容性是必須具備的條件之一晌纫,jQuery能夠在IE 6.0+税迷、FF 3.6+、Safari 5.0+锹漱、Opera 和 Chrome等瀏覽器下正常運行箭养,jQuery同時修復了一些瀏覽器之間的差異,使開發(fā)者不必在開展項目前建立瀏覽器兼容庫哥牍;
** 8毕泌、鏈式操作方式;** jQuery中最有特色的莫過于它的鏈式操作方式--即對發(fā)生在同一個jQuery對象上的一組動作嗅辣,可以直接連寫而無需重復獲取對象撼泛,這一特點使jQuery的代碼無比優(yōu)雅;
9澡谭、隱式迭代愿题; 當用jQuery找到帶 “.myClass” 類的全部元素,然后隱藏他們時,無需循環(huán)遍歷每一個返回的元素抠忘。相反撩炊,jQuery里的方法都被設計成自動操作對象集合,而不是單獨的對象崎脉,這使得大量的循環(huán)結構變得不再必要拧咳,從而大幅減少了代碼量;
10囚灼、行為層與結構層的分離骆膝; 開發(fā)者可以使用jQuery選擇器選中元素,然后直接給元素添加事件灶体,這種將行為層與結構層完全分離的思想阅签,可以使jQuery開發(fā)人員和HTML或其他頁面開發(fā)人員各司其職,擺脫過去開發(fā)沖突或個人單干的開發(fā)模式蝎抽。同時政钟,后期維護也非常方便,不需要在HTML代碼中尋找某些函數(shù)和重復修改HTML代碼樟结;
11养交、豐富的插件支持; jQuery的易擴展性瓢宦;
12碎连、完善的文檔; jQuery的文檔非常豐富驮履,不管是英文文檔還是中文文檔鱼辙;
** 13、開源玫镐;** jQuery是一個開源的產(chǎn)品倒戏,任何人都可以自由地使用并提出改進意見。
掃碼關注公眾號:愛上程序員222