摘要:現(xiàn)代網(wǎng)站和web應(yīng)用程序趨向于依賴客戶端的大量的javascript來提供豐富的交互。特別是通過不刷新頁面的異步請(qǐng)求來返回?cái)?shù)據(jù)或從服務(wù)器端的腳本(或數(shù)據(jù)系統(tǒng))中得到響應(yīng)。在這篇文章中,你將會(huì)了解到j(luò)avascript框架如何更快、更方便的創(chuàng)建互動(dòng)性強(qiáng)、響應(yīng)快得網(wǎng)站和web應(yīng)用程序。
導(dǎo)言:JavaScript是一種面向?qū)ο蟮哪_本語言,一直以來用作Web瀏覽器應(yīng)用程序客戶端腳本接口的選擇。JavaScript允許Web開發(fā)人員編程與網(wǎng)頁上的對(duì)象的工作,為憑空操作這些對(duì)象提供了一個(gè)平臺(tái)。當(dāng)JavaScript最初推出時(shí),它通常用來提供一些微不足道的功能,如時(shí)鐘、在瀏覽器狀態(tài)欄中滾動(dòng)文本。另外一個(gè)常用特色就是“rollover link”,即當(dāng)用戶的鼠標(biāo)滑過對(duì)象時(shí),其文本的顏色或背景圖片發(fā)生改變。然而,近年來Ajax為網(wǎng)絡(luò)編程帶來了全新的互動(dòng),JavaScript幾經(jīng)發(fā)展變得更加有用。在Ajax之前,任何服務(wù)器端處理或數(shù)據(jù)庫訪問都需要整頁面被“刷新”或由瀏覽器呈現(xiàn)新的頁面。這不僅緩慢,令用戶失望,而且也浪費(fèi)了帶寬和資源。
Ajax就是異步的JavaScript和XML,雖然引用XML不在有效,但是Ajax能對(duì)除了XMl的其它幾種格式的數(shù)據(jù)作出響應(yīng),如JSON(JavaScript對(duì)象表示法)。 Ajax的工作原理是,以異步的方式提交一個(gè) HTTP請(qǐng)求提交到web服務(wù)器,不刷新也不呈現(xiàn)整個(gè)頁面,僅呈現(xiàn)響應(yīng)的內(nèi)容。相反,開發(fā)人員通常使用DOM(文檔對(duì)象模型)操作修改網(wǎng)頁的一部分,HTTP響應(yīng)返回的數(shù)據(jù)將反映這些改變。
什么是JavaScript框架?
JavaScript本身是一種非常強(qiáng)大的語言,你不需要任何額外的框架就可以創(chuàng)建由它支持的富互聯(lián)網(wǎng)應(yīng)用系統(tǒng)(RIA)。但是,使用JavaScript并不是一件容易的事,主要是因?yàn)樵谠噲D提供多種瀏覽器支持時(shí)各種并發(fā)癥的出現(xiàn)。和HTML和CSS一樣,不同的瀏覽器的JavaScript執(zhí)行方式不同,那么確保您的JavaScript代碼跨瀏覽器兼容可以說是一個(gè)惡夢(mèng)。
一個(gè)JavaScript框架或庫實(shí)際上是一系列工具和函數(shù),它能更容易產(chǎn)生跨瀏覽器兼容的JavaScript代碼。每個(gè)庫在許多流行的最新版本的Web瀏覽器經(jīng)過了嚴(yán)格測(cè)試。因此,您完全可以相信,使用這些框架中的任何一個(gè),您的基于JavaScript的RIA在不同的瀏覽器和平臺(tái)中將大體一致。
除了瀏覽器兼容性問題外,JavaScript框架可以更容易地編寫代碼去獲取、遍歷及操縱DOM元素。它們不僅能提供一個(gè)快捷的函數(shù)來獲取一個(gè)DOM元素的引用,而且還允許菊花式的DOM遍歷函數(shù)鏈查找父母、子女或任何深度的兄弟節(jié)點(diǎn)元素。最后,框架提供了一系列的函數(shù),使其更容易的操縱這些對(duì)象,允許其內(nèi)容更改、添加、刪除,或者操縱class的樣式而影響元素的外觀。
JavaScript框架的另一個(gè)重要特色就是能更好的支持事件處理。由于瀏覽器之間的不同實(shí)現(xiàn),跨瀏覽器事件處理可以說是一個(gè)惡夢(mèng)。因此,JavaScript框架通常將瀏覽器事件包裝起來,并提供一系列有用的跨瀏覽器函數(shù)來處理它們。一些框架也提供了標(biāo)準(zhǔn)化的代表鍵盤鍵碼系列的事件(如Esc鍵、Enter鍵、光標(biāo)等等)。
所有這些功能是非常有用的,JavaScript框架已在其最近流行Ajax應(yīng)用中起重要作用。和JavaScript其他方面一樣,每個(gè)Web瀏覽器傾向于支持以不同的方式Ajax,使Ajax支持所有的瀏覽器將是很繁重的工作。幾乎所有的JavaScript框架都包括一定形式的Ajax庫,通常是提供Ajax請(qǐng)求和響應(yīng)對(duì)象,在對(duì)響應(yīng)作出評(píng)價(jià)后,更新DOM元素,輪詢一個(gè)特定的請(qǐng)求。
一個(gè)JavaScript框架的典型特征
現(xiàn)在讓我們看看大多數(shù)JavaScript框架都具有的一些功能。這些特色有:
- 選擇器
- DOM遍歷
- DOM操作
- 實(shí)用函數(shù)
- 事件處理
- Ajax
為了更好的詮釋這些特色,我將從下面一個(gè)或多個(gè)JavaScript框架中列舉一個(gè)例子:Prototype, jQuery, YUI,ExtJS和 MooTools。雖然每個(gè)框架的執(zhí)行情況和語法不同,但其概念大致相同。每個(gè)框架有一個(gè)詳細(xì)的API參考,你可以參考它決定如何使用這些特定庫的特色功能。
- JavaScript框架比較:選擇器
- JavaScript框架比較:DOM遍歷
- JavaScript框架比較:DOM操作
- JavaScript框架比較:實(shí)用函數(shù)
- JavaScript框架比較:事件處理
- JavaScript框架比較:Ajax
- JavaScript框架比較:用戶體驗(yàn)
- JavaScript框架比較:框架比較
本文鏈接:http://www.95time.cn/tech/web/2010/7555.asp
出處:
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|