一個必用的javascript框架:underscore.js - wine的思考 - ITeye技術網站javascript
上篇文章(http://cavenfeng.iteye.com/admin/blogs/1551516)粗略介紹了移動應用框架的搭建,其中,有一個比較重要的庫:underscore.jscss
Underscore是一個很是實用的JavaScript庫,提供許多編程時須要的功能的支持,他在不擴展任何JavaScript的原生對象的狀況下提供不少實用的功能。html
創造一個小而美的公司很是值得尊敬,小而美的框架一樣散發着那樣的使人着迷的魅力。java
不管你寫一段小的js代碼,仍是寫一個大型的HTML5應用,underscore都能幫上忙。目前,underscore已經被普遍使用,例如,backbone.js惟一強依賴的庫就是underscore.jsgit
- 代碼行數1000來行
- 包含60多個獨立的函數
- 提供完整的測試用例集合 http://documentcloud.github.com/underscore/test/test.html
- 提供帶註釋的源碼 http://documentcloud.github.com/underscore/docs/underscore.html(這個代碼註釋很Cool哦,誰知道是怎麼作出來的?)
- 項目代碼在GitHub上:http://github.com/documentcloud/underscore/
Underscore提供的60多個函數:github
http://www.css88.com/doc/underscore/編程
Collections(集合)
each, map, reduce, reduceRight, find, filter, reject, all, any, include, invoke,pluck, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray, size數組Arrays(數組)
first, initial, last, rest, compact, flatten, without, union, intersection,difference, uniq, zip, indexOf, lastIndexOf, range框架Functions(函數)
bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap,composeideObjects(對象)
keys, values, functions, extend, defaults, clone, tap, isEqual, isEmpty,isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean,isDate, isRegExp, isNaN, isNull, isUndefinedUtility(功能)
noConflict, identity, times, mixin, uniqueId, escape, template
具體每一個函數的用途,你能夠看上面中文的文檔(翻譯的不是太好),也能夠看http://underscorejs.org/