jquery ajax_jquery源碼分析_1.1.2 主流JavaScript庫
本文關(guān)鍵詞:精彩絕倫的jQuery,由筆耕文化傳播整理發(fā)布。
> Javascript > 精彩絕倫的jQuery 1.1.2 主流JavaScript庫 2013-03-02 08:08:27 我要投稿
本文所屬圖書 > 精彩絕倫的jQuery
本書是jQuery 基礎(chǔ)教程,通過大量實用技巧、案例、示例分4 部分全面講解了jQuery 開發(fā)。第一部分介紹jQuery 與JavaScript 庫,以及jQuery 帶來的巨大便利。第二部分重點論述jQuery 基礎(chǔ)知識,包括選擇器、... 立即去當(dāng)當(dāng)網(wǎng)訂購
目前,大約有20個(目前開發(fā)活躍的)JavaScript庫,其中有5個庫最流行,它們是YUI、Prototype、MooTools、Dojo和本書的主角jQuery。它們之所以脫穎而出,是因為很好用,并且都有著巨大的用戶群。絕大多數(shù)庫之間的差異主要在于庫的體積及瀏覽器支持程度不同。
我即將探討的5個庫都是開源項目,這意味著每個人都可以為這些庫貢獻源代碼。微軟的軟件是不開源的,是專屬于微軟公司的軟件。微軟公司雇用程序員開發(fā)軟件,然后銷售這些軟件并收取授權(quán)費。交納授權(quán)費之后,軟件用戶通常在一定期限之內(nèi)有權(quán)使用這些軟件,并且可在遇到麻煩時從微軟公司得到幫助。
開源軟件與之不同。任何人都能夠下載源代碼并對其進行改進,這樣會造就更好的代碼。因為所有的代碼都是由志愿者寫就的,而所有志愿者擁有同一個目標(biāo)——寫出更好的軟件(而不是賺錢)。由于不必支付任何費用,這些庫盡可隨意使用。網(wǎng)上的開源社區(qū)極為龐大,有數(shù)百萬用戶通過博客或論壇貢獻內(nèi)容,而今Web設(shè)計師和開發(fā)者在遇到問題時可非常容易地得到支持。
在學(xué)習(xí)JavaScript庫的過程中要牢記一點,你正在學(xué)習(xí)的庫就像一種新語言——沒錯,它確實是JavaScript語言的另一種演繹。
1. YUI
YUI(Yhaoo! User Interface,雅虎用戶界面)JavaScript庫由雅虎開發(fā)者網(wǎng)絡(luò)于2005年發(fā)布,它采用的是BSD許可證。BSD許可證允許以極其自由的方式傳播軟件,與其他類似許可證(如GNU GPL)相比,BSD許可證對軟件傳播的限制最少。YUI完全兼容IE 6+、Firefox 3+、Safari 3+以及Opera 10+。
YUI庫文件的總大小約31 KB。
為了讓你了解一下YUI代碼是個什么樣子,下面列出了一段JavaScript代碼,它演示了如何使用YUI庫實現(xiàn)click事件。這段代碼中的click事件分為兩部分:一個是click事件發(fā)生時被調(diào)用的函數(shù),一個是click事件本身。這些代碼因為使用了YUI專用語法顯得不那么優(yōu)雅。
function handleClick(e) {
Y.log(e);
}
YUI().use('node-base', function(Y) {
Y.on("click", handleClick, "#foo");
});
2. Prototype
Prototype庫由Sam Stevenson創(chuàng)建。由于是和非常流行的Web快速開發(fā)框架Ruby on Rails綁定發(fā)布的第一個JS框架,,它很快流行起來。由于它是Ruby on Rails的一部分,我總感覺它并不適合Web設(shè)計師,而是更適合專業(yè)Web開發(fā)者結(jié)合Ruby on Rails使用。
Prototype庫是一個包含Ajax功能的基礎(chǔ)庫,隨著它的輔助庫Scriptaculous的加入,Prototype庫的功能越來越豐富。Scriptaculous負責(zé)提供特效及用戶界面元素,是一個只能與Prototype一起使用的庫。Prototype庫的主要缺點在于尺寸:所有JavaScript文件加起來大約有278 KB。
對沒有多少經(jīng)驗的前端開發(fā)者來說,Prototype和Scriptaculous庫的文檔是相當(dāng)難以理解的。和其他庫一樣,Prototype也有一個技術(shù)支持社區(qū)。不過由于它的語法相當(dāng)復(fù)雜,Prototype終究是一個難以學(xué)習(xí)的庫。為了讓你感受一下Prototype代碼,下面的代碼演示了如何使用Prototype庫處理click事件。這里的click事件用法看上去與jQuery中的非常類似,別讓表象欺騙了你——Prototype中許多的其他方法代碼要比這個復(fù)雜得多,而且看起來不太像jQuery。
$("foo").observe("click", function() {
alert('Clicked!');
});
3. MooTools
MooTools庫首次發(fā)布于2006年,與Prototype有相似之處——語法(相對復(fù)雜)適合中高級Web設(shè)計人員和開發(fā)人員。MooTools是一個面向?qū)ο蟮目蚣,它以面向(qū)ο蟮姆绞皆鰪娏薐avaScript API,也為Web頁面提供一些人機交互功能。MooTools適合那些喜歡純凈JavaScript的人。
下面是使用MooTools庫處理click事件的代碼示例:
$('foo').addEvent('click', function() {});
4. Dojo
Dojo最早的版本發(fā)布于2004年,它的設(shè)計目標(biāo)是創(chuàng)建兼容各種瀏覽器的Web應(yīng)用,為站點平滑地添加交互功能。Dojo的語法相當(dāng)復(fù)雜,給人的感覺就是在寫原生JavaScript,它針對的用戶群是那些有經(jīng)驗的前端開發(fā)人員,它的用法和思想不太適合初學(xué)者。
下面是使用Dojo庫處理click事件的代碼示例:
fooNode = dojo.byId("foo");
fooConnections = [];
fooConnections.push(dojo.connect(fooNode, 'onclick', foo));
看看前面這些例子,這些JavaScript庫的語法相當(dāng)嚇人,F(xiàn)在我們看看jQuery怎么處理click事件:
$('#foo').click(function() {
//單擊事件
});
1.1.2 算術(shù)
1.1.2 Sencha Touch 2.0中的新特性
1.1.2 JavaScript日期函數(shù)strftime
1.1.2 CSS代碼片段
11.1.2 代碼重用
1.1.2 JavaScript的主要特點
1.1.2 線程的阻塞
1.1.2 瀏覽器之戰(zhàn)
1.1.2 漸進增強式開發(fā)模型的目標(biāo)
1.5 JavaScript 簡史
圖文推薦本文關(guān)鍵詞:精彩絕倫的jQuery,由筆耕文化傳播整理發(fā)布。
本文編號:56244
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/56244.html