JavaScript 函數庫究竟有多豐富?
持續早上 JavaScript 與 jQuery 的話題...有人問我說,「JavaScript 的函數庫究竟有多豐富?」雖然不至於如佛家說的「如恆河沙數」或「如天上繁星」,但「族繁不及備載」的程度是一定有的。請參考底下這一篇:
20 JavaScript Libraries to Simplify Development Tasks
http://codegeekz.com/javascript-libraries/
其中,最常見的有下列這幾種(我個人接觸經驗認為的啦):
1. jQuery(2006)
- 以「最短程式碼、最大生產力」見長。短短幾行,就能寫出威力十足的網頁特效。
- https://zh.wikipedia.org/wiki/JQuery
2. YUI (Yahoo! User Interface) (2005)
- 提供豐富的使用者介面(表單、導覽列…)
- http://en.wikipedia.org/wiki/YUI_Library
3. ExtJS(2006)
- 基於 YUI 上建立的。
- 提供大量美觀的視覺介面。
- 2010 年改名為 Sencha(日本話的「煎茶」)。
- http://zh.wikipedia.org/wiki/Extjs
4. Prototype (2005)
- 支援標準的物件導向機制,補足 JavaScript 與正規物件導向語言之間的鴻溝。
- 有些次要 Bugs 沒處理,評價兩極化。
- http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework
5. script.aculo.us
- 基於 Prototype 之上而建立的。
- 目前為止,最強的動畫函數庫!
- http://en.wikipedia.org/wiki/Script.aculo.us
6. MooTools (2006)
- 基於 Prototype 之上而建立的。
- 強調「模組化」與「物件導向」,適合拿來開發大型的 JavaScript 程式。
- http://en.wikipedia.org/wiki/MooTools
7. Dojo (2004)
- 用於「跨平台」、「快速開發」等目的的函數庫。
- 可寫出「讓不同瀏覽器,執行效果都相等」的 JavaScript 程式碼。
- http://en.wikipedia.org/wiki/Dojo_Toolkit
8. AngularJS(2009)
- 令人注目的後起之秀,由 Google 主導研發。
- 最早是為了做出「單一網頁架構(Single Page Architecture, 簡稱 SPA)」,就是那種所有東西都放在同一頁,一直捲就會動態載入的網頁。Google 已經將它用在「圖片搜尋」的結果頁,成為目前製作「SPA」時的不二選擇。
- 很強調 JavaScript 與 DOM 的「鬆散耦合(Loosely Coupled)」。認為與 DOM 結合得太緊密不利於程式碼重用,故大量利用 Design Pattern 中的「Dependency Injection(相依注入)」(也就是在 JavaScript 與 DOM 之間多加一層軟體層),降低 JavaScript 與 DOM 之間的耦合程度。
- http://zh.wikipedia.org/wiki/AngularJS
上述這些函數庫,最後都會轉化為 JavaScript 語言,然後丟給瀏覽器去解譯。感覺上,JavaScript 快成了網頁世界的「組合語言(Assembly)」了... XD。
這裡有所有 JavaScript 函數庫、軟體框架的功能比較,請參考:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
injection函數 在 大二資工人-DAY14-考試分享 - iT 邦幫忙 的相關結果
(a) 以上的函數何者為injection? 何者為surjection? 何者為bijection? 我寫的答案是:f、h都是injection,g是surjection,沒有bijection ... ... <看更多>
injection函數 在 单射、满射和双射 - 数学乐 的相關結果
"单射、满射和双射" 描述函数的行为。 函数 是把一个集"A" 的元素与另一个集"B" 的元素配对的方法:. 一般 ... ... <看更多>
injection函數 在 单射- 维基百科,自由的百科全书 的相關結果
在數學裡,單射函數(或稱嵌射函數、一對一函數,英文稱injection、injective function或one-to-one function)為一函數,其將不同的輸入值對應到不同的函數值上。 ... <看更多>