剛初學js時,總會聽到關於架構的一些事情。等學完JQ後我才知道什麼是架構。一下是轉載的一篇文章,希望對還迷茫的童鞋們有點協助。
【轉自】http://www.ibm.com/developerworks/cn/web/wa-jsframeworks/
什麼是 JavaScript 架構?
JavaScript 本身就是一種功能強大的語言,您不需要額外的架構就可建立富互連網應用程式(RIA)。然而使用 JavaScript 並不是件容易的事,主要是由於支援多個 網頁瀏覽器產生的複雜性。與 HTML 和 CSS一樣,不同的瀏覽器有不同的 JavaScript 實現。讓 JavaScript 代碼實現跨瀏覽器安全色簡直是個噩夢。
JavaScript 架構或庫是一組能輕鬆產生跨瀏覽器安全色的 JavaScript 代碼的工具和函數。每一個庫都在眾多流行的 網頁瀏覽器的現代版本上進行了可靠的測試,因此,您可以放心地使用這些架構,您的基於 JavaScript 的 RIA 將會在不同瀏覽器和平台上以類似的方式工作。
除瞭解決跨瀏覽器問題,使用 JavaScript 架構可以更容易地編寫檢索、遍曆、操作 DOM 元素的代碼。它們不僅提供擷取 DOM 元素引用的快捷函數,而且還允許 DOM 遍曆函數以菊花鏈(daisy-chaining)方式尋找任意深度的父元素、子項目、兄弟元素。最後,架構還提供一系列函數來更輕鬆地操作這些對象,可以改變、添加或刪除內容本身;或者使用 CSS 樣式類來改變元素的外觀。
架構的另一重要特性是其改進的事件處理支援。由於不同瀏覽器的實現方式各不相同,跨瀏覽器事件處理將會非常艱難。因此 JavaScript 架構通常封裝瀏覽器事件,並提供一組有用的跨瀏覽器安全色的函數來進行處理。有些架構還會提供一組標準鍵盤代碼來表示基於鍵盤的事件(如按下 Escape 鍵、Return 鍵、游標鍵,等等)。
所有這些特性都非常有用,但 JavaScript 架構有一個特性對於它最近的流行非常重要 — 支援 Ajax。與 JavaScript 的其他許多方面一樣,每個 網頁瀏覽器往往以不同方式支援 Ajax,這使得以一種在所有 網頁瀏覽器中都受支援的方式處理 Ajax 變得十分複雜。幾乎所有 JavaScript 架構都包含某種形式的 Ajax 庫支援,通常提供 Ajax 請求和響應對象,以及用於評價響應、更新 DOM 元素、查詢特定請求的協助函數(helper)。
JavaScript 架構的典型特性
現在,讓我們看一看大多數 JavaScript 架構都具備的有用特性。包括:
選取器(Selector)
DOM 遍曆
DOM 操作
實用(Utility)函數
事件處理Ajax
在解釋每個特性時,我將會用以下的一個或幾個 JavaScript 架構舉例說明:Prototype、jQuery、YUI、ExtJS 和 MooTools。儘管每個架構的實現和文法都各不相同,但概念都是相同的。每個架構都有一個詳細的 API 參考,可協助您理解如何使用該特定庫中的特性。