這裡所說的「Prototype」不是JavaScript程式設計中的原型(「prototype」),而是由「Sam Stephenson」寫的一個JavaScript類別庫。這個構思奇妙,而且相容標準的類別庫,能幫助程式設計師輕鬆建立具有高度互動的「web2.0」特性的富客戶端頁面。
•許多人初次接觸Prototype,都是從其「$」系列函數開始的,這些類似於桌面應用程式的快捷方式,是Prototype框架中使用頻率最高的一組函數。此外,Prototype對Ajax的支援也是讓開發人員很感興趣的地方。當然Prototype的功能並不僅限於此,其對JavaScript內建物件進行了大量的擴展,同時也定義了許多新的物件。
prototype框架的簡介:
•Prototype是目前應用最為廣泛的Ajax開發框架,其的特點是功能實用且尺寸較小,非常適合在中小型的Web應用中使用。開發Ajax應用需要編寫大量的客戶端JavaScript腳本,而Prototype框架可以大幅簡化JavaScript程式碼的編寫工作。更難得的是,Prototype具備相容各個瀏覽器的優秀特性,使用該框架可以不必考慮瀏覽器相容性的問題。
•Prototype對JavaScript的內建物件(如「String」物件、「Array」物件等)進行了許多有用的擴展,同時該框架中也新增了不少自訂的對象,包括對Ajax開發的支援等都是在自訂物件中實現的。 Prototype可以幫助開發人員實現以下的目標:
•(1)對字串進行各種處理
•(2)使用枚舉的方式存取集合物件
•(3)以更簡單的方式進行常見的DOM操作
•(4)使用CSS選擇符定位頁面元素
•(5)發起Ajax方式的HTTP請求並對回應進行處理
•(6)監聽DOM事件並對事件處理
•「Prototype」框架功能詳解—使用實用函數
「Prototype」框架的實作僅包含一個JavaScript即可,1.6版本的「Prototype.js」的檔案大小為127K位元組,約4220行。在頁面中應用的語法類似:
•<script type=”text/javascript” src=”inc"js"Prototype.js” ></script>
•然後就可以在後繼的腳本中享受該框架帶來的便利了。
•該框架中有很多預先定義的物件和實用函數,可以將程式設計師從重複的打字中解放出來。
•(1)使用「$()」函數。
•(2)使用「$F()」函數。此函數是另一個大收歡迎的“快捷鍵”,可用於返回任何表單輸入控制項的值,例如多行文字方塊和下拉列錶框等控制項。此個方法也能用元素id或元素本身做為參數。
•(3)使用「$A()」函數。此函數能將其接收到的單一的參數轉換成一個Array物件。
•(4)使用「$H()」函數。此函數把一些物件轉換成一個可枚舉的和聯合數組類似的Hash物件。
•(5)使用「$R()」函數。此函數是「new ObjectRange(lowBound,upperBound,excludeBounds)」的縮寫,用於建立範圍物件。
•(6)使用「Try.these()」函數。 “Try.these()”方法用於呼叫不同的方法直到其中的一個成功。此函數把一系列的方法當作參數,並且依序的一個一個的執行這些方法,直到其中的一個成功執行。傳回成功執行的那個方法的回傳值。 “Try.these()”函數可以用來處理相容性問題。