1. 程式人生 > >關於Ajax ,jQuery以及jQuery Ajax 程式設計 (二)

關於Ajax ,jQuery以及jQuery Ajax 程式設計 (二)

介紹:

什麼是jQuery?

jQuery 庫 - 特性

jQuery 是一個 JavaScript 函式庫。

jQuery 庫包含以下特性:

  • HTML 元素選取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函式
  • JavaScript 特效和動畫
  • HTML DOM 遍歷和修改
  • AJAX
  • Utilities

向您的頁面新增 jQuery 庫

jQuery 庫位於一個 JavaScript 檔案中,其中包含了所有的 jQuery 函式。

可以通過下面的標記把 jQuery 新增到網頁中:

<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
使用jQuery的優勢:

1、jQuery實現指令碼與頁面的分離 

在HTML程式碼中,我們還經常看到類似這樣的程式碼: 

<form id="myform" onsubmit=return validate();"> 

即使validate()函式可以被放置在一個外部檔案中,實際上我們依然是把頁面與邏輯和事件混雜在一起。jQuery讓你可以將這兩部分分離。藉助於jQuery,頁面程式碼將如下所示: 

<form id="myform"> 接下來,一個單獨的JS檔案將包含以下事件提交程式碼: 

程式碼如下:
$("myform").submit(function(){ 


...your code here 
)} 
這樣我們可以實現靈活性非常強的清晰頁面程式碼。jQuery讓JavaScript程式碼從HTML頁面程式碼中分離出來,就像數年前CSS讓樣式程式碼與頁面程式碼分離開一樣。 

2、最少的程式碼做最多的事情 

最少的程式碼做最多的事情,這是jQuery的口號,而且名副其實。使用它的高階selector,開發者只需編寫幾行程式碼就能實現令人驚奇的效果。開發者無需過於擔憂瀏覽器差異,它除了還完全支援Ajax,而且擁有許多提高開發者程式設計效率的其它抽象概念。jQuery把JavaScript帶到了一個更高的層次。以下是一個非常簡單的示例: 

程式碼如下:
$("p.neat").addClass("ohmy").show("slow"); 

通過以上簡短的程式碼,開發者可以遍歷“neat”類中所有的<p>元素,然後向其增加“ohmy”類,同時以動畫效果緩緩顯示每一個段落。開發者無需檢查客戶端瀏覽器型別,無需編寫迴圈程式碼,無需編寫複雜的動畫函式,僅僅通過一行程式碼就能實現上述效果。 

3、效能 

在大型JavaScript框架中,jQuery對效能的理解最好。儘管不同版本擁有眾多新功能,其最精簡版本只有18KB大小,這個數字已經很難再減少。jQuery的每一個版本都有重大效能提高。本篇文章講的是jQuery未經過任何優化的原始速度。如果將其與新一代具有更快 JavaScript引擎的瀏覽器(如火狐3和谷歌Chrome)配合使用,開發者在建立富體驗Web應用時將擁有全新速度優勢。 

4、它是一個“標準” 
之所以使用引號,是以為jQuery並非一個官方標準。但是業內對jQuery的支援已經非常廣泛。谷歌不但自己使用它,還提供給使用者使用。另外戴爾、新聞聚合網站Digg、WordPress、Mozilla和許多其它廠商也在使用它。微軟甚至將它整合到Visual Studio中。如此多的重量級廠商支援該框架,使用者大可以對其未來放心,大膽的對其投入時間。 

5、外掛 

基於jQuery開發的外掛目前已經有大約數千個。開發者可使用外掛來進行表單確認、圖表種類、欄位提示、動畫、進度條等任務。jQuery社群已經成長為一個生態系統。這一點進一步證明了上一條理由,它是一個安全的選擇。而且,jQuery正在主動與“競爭對手”合作,例如Prototype。它們似乎在推進JavaScript的整體發展,而不僅僅是在圖謀一己之私。 

6、節省開發者學習時間 

當然要想真正學習jQuery,開發者還是需要投入一點時間,尤其是如果你要編寫大量程式碼或自主外掛的話,更是如此。但是,開發者可以採取“各個擊破”的方式,而且jQuery提供了大量示例程式碼,入門是一件非常容易的事情。我建議開發者在自己編寫某類程式碼前,首先看一下是否有類似外掛,然後看一下實際的外掛程式碼,瞭解一下其工作原理。簡而言之,學習jQuery不需要開發者投入太多,就能夠迅速開始開發工作,然後逐漸提高技巧。 

7、讓JavaScript程式設計變得有趣 

我發現使用jQuery是一件充滿樂趣的事情。它簡潔而強大,開發者能夠迅速得到自己想要的結果。它解決了許多JavaScript問題和難題。我過去曾討厭JavaScript程式設計,但現在卻非常喜歡它。通過一些基礎性的改進,開發者可以真正去思考開發下一代Web應用,不再因為語言或工具的差勁而煩惱。我相信它的“最少的程式碼做最多的事情”口號。 

jQuery的不足之處 

當然,jQuery並非完美無缺。截止到目前我所發現的jQuery不足之處包括: 

◆ 不能向後相容。每一個新版本不能相容早期的版本。舉例來說,有些新版本不再支援某些selector,新版jQuery卻沒有保留對它們的支援,而只是簡單的將其移除。這可能會影響到開發者已經編寫好的程式碼或外掛。 

◆ 外掛相容性。與上一點類似,當新版jQuery推出後,如果開發者想升級的話,要看外掛作者是否支援。通常情況下,在最新版jQuery版本下,現有外掛可能無法正常使用。開發者使用的外掛越多,這種情況發生的機率也越高。我有一次為了升級到jQuery 1.3,不得不自己動手修改了一個第三方外掛。 

◆ 在同一頁面上使用多個外掛時,很容易碰到衝突現象,尤其是這些外掛依賴相同事件或selector時最為明顯。這雖然不是jQuery自身的問題,但卻又確實是一個難於除錯和解決的問題。 

◆ jQuery的穩定性。它沒有讓我的瀏覽器崩潰,我這兒指的是其版本釋出策略。jQuery 1.3版釋出後僅過數天,就釋出了一個漏洞修正版1.3.1。他們還移除了對某些功能的支援,可能會影響許多程式碼的正常執行。我希望類似修改不要再出現。 

◆ 在大型框架中,jQuery核心程式碼庫對動畫和特效的支援相對較差。但是實際上這不是一個問題。目前在這方面有一個單獨的jQuery UI專案和眾多外掛來彌補此點。 

如果你還在猶豫是否要學習一個JavaScript框架,並困惑於選擇哪一個框架,那麼我推薦你選擇jQuery。這並非說其它框架不好,只是jQuery可能是最穩妥和最具回報性的選擇。