資源描述:
《Jquery1.2.6源碼分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、jQuery源碼分析版權(quán)所有Jquery源碼分析1、概述jQuery是一個非常優(yōu)秀的JS庫,與Prototype,YUI,Mootools等眾多的Js類庫相比,它劍走偏鋒,從web開發(fā)的實用角度出發(fā),拋除了其它Lib中一些中看但不實用的東西,為開發(fā)者提供了優(yōu)美短小而精悍的類庫。其使用簡單,文檔豐富,而且性能高效,能極大地提高web系統(tǒng)的開發(fā)效率。因此可以說是web應(yīng)用開發(fā)中最佳的Js輔助類庫之一。大部分開發(fā)者正在拋棄Prototype,而選擇Jquery做為他們進行web開發(fā)的JS庫。如是開發(fā)人員僅僅只知道文檔中的簡單的使用方法,卻不明白Jquery的運行原理和內(nèi)部機制,在使用jquery時
2、,肯定會碰到許多的問題。這些問題有一部分是Jquery的Bug。大部分是自身的使用不當(dāng)而造成的。而文檔的簡單的使用說明很難解決問題。在調(diào)試基于jQuery的web應(yīng)用時,很多時候都要跟蹤進入jQuery對象分析其運行狀態(tài)以了解出錯的原因。如果對于web的應(yīng)用的頁面運行性能和效率有所要求的話,那么我們更應(yīng)該去明白其運行機理和核心源碼。但是jQuery源碼不像其它的類庫那樣,它有點晦澀,難懂。這就是本源碼分析的原因,讓所有使用jQuery的讀者,能快速上手jQuery的源碼,并在開發(fā)中得心應(yīng)用。Jquery的網(wǎng)絡(luò)資源豐富,但Baidu了很久,很難找到那種完全深入地分析Jquery源碼的文稿。倒是
3、Jquery的開發(fā)者,JohnResi的《ProJavascriptTechniques》涉及到Jquery的源碼的分析,但是其主指還是在于JavaScript的使用。那本書并不能使我們完全細(xì)致地了解Jquery的源碼。作者:prk(彭仁夔)QQ:546711211Email:sjkjs155@126.comBlog:http://jljlpch.javaeye.comjQuery源碼分析版權(quán)所有第一篇Query(查詢)2、構(gòu)建jQuery對象在本節(jié)中,我們會就Jquery的運行機制和設(shè)計理念進行分析及說明。本節(jié)主要從jQuery的設(shè)計理念e及其構(gòu)建的源碼進行剖析。2.1、jQuery的設(shè)計
4、理念在使用jQuery之前,我們也許會問jQuery是什么?其實它的名字就很能反映其主旨的。J是的JS,Query是指查詢。如果把jQuery看作是一個查詢的JS類庫。它和prototype,mootools等類庫一樣,為Web的Js開發(fā)提供輔助功能。那為什么要選用jQuery呢?在jQuery出現(xiàn)之前,Prototype,YUI都已經(jīng)是成熟的Js的框架,而且是各有各的特點。并且市場的書和使用文檔都很詳盡。為什么開發(fā)員會拋棄它們,而使用后起之秀的jQuery,它有什么優(yōu)秀的特性吸引開發(fā)人員呢?回答這個問題,我們得明白jQuery的設(shè)計理念?;貞浕蛳胂笠幌?,我們在web開發(fā)中是如何使用JS?絕
5、大多數(shù)時間都是進行如下五個方面的事情:1、采用getElementById在Dom文檔中找到Dom元素,然后取值或設(shè)值。2、對元素采用innerHTML取其內(nèi)容或設(shè)定其內(nèi)容。3、對元素進行事件的監(jiān)聽(如click)。4、通過改變元素的CSS樣式如height,達到視覺上的效果。5、通過Ajax從服務(wù)器取值,往指定元素里添充內(nèi)容。從上面可以看,在使用Js開發(fā)時候就是在對Dom元素在進行操作。這個Dom元素可能是單個或是集合的形式。對元素元素操作,對于document,window是可以直接引用,但是對于其它的Dom元素,我們得從Dom文檔樹查找得到吧。這樣的話就可以把JS的操作分析兩部分任務(wù),
6、一、查找Dom元素,二、對Dom元素進行操作。對于使用JS熟練的開發(fā)者而言,也許手寫document.getElementById或elment.getElementsByTagName這樣冗長的直接查找Dom元素覺得不是什么問作者:prk(彭仁夔)QQ:546711211Email:sjkjs155@126.comBlog:http://jljlpch.javaeye.comjQuery源碼分析版權(quán)所有題,許會對element的event,attribute,style等操作也不含糊,但是對于IE、mozilla等幾大主流的瀏覽器的兼容足夠讓每一個JS高手頭疼。這是使用JS類庫的主要原因。
7、JS類庫只要用得恰當(dāng)?shù)脑?,也不一定比直接采用JavaScript的原始函數(shù)和對象的運行效率低。但是其卻能極大地提高開發(fā)的效率。自從Prototype采用$符號做為document.getElementById的縮寫,$符號似乎成了查找元素的代理符號。但是這種簡單的查找并不能滿足web應(yīng)用的需要。很多時間我們需要像CSSselector那樣查找Dom元素。jQuery從這里出發(fā),采用$符號做為查找元素的代理。它