Underscore.js是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,弥补了 jQuery 没有实现的功能,同时又是 Backbone 必不可少的部分。
Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。 他解决了这个问题:“如果我面对一个空白的 HTML 页面,并希望立即开始工作,我需要什么?” 他弥补了 jQuery 没有实现的功能,同时又是 Backbone 必不可少的部分。
从其他语言转向Javascript时,通常都会遇到一些困惑性问题。比如,Java中的HashMap在Javascript中如何实现?Javascript面向对象式编程如何实现继承?如何实现通用的iterator对集合对象做遍历?如何对Array实现快速排序?….
如果你真的可以自己实现这些功能,那么你的Javascript基础很扎实的!我很佩服你!但对于大部分人来说,这些基础功能应该是由底层API支持的,就像JDK一样。Underscore为我们提供了这样的一个实用工具包,而且它真的很实用!
Underscore 提供了100多个函数,包括常用的:map、filter、invoke — 当然还有更多专业的辅助函数,如:函数绑定、JavaScript 模板功能、创建快速索引、强类型相等测试等等。
为了你能仔细研读,这里包含了一个完整的测试套件。
你还可以通读带有注释的源码。
享受 Underscore 所带来的便利吧。如果你希望获得更多有用的功能,可以试试 Underscore-contrib。
本项目 托管在 GitHub 上。 你可以在 issues page 或 Freenode 上的 #documentcloud 频道内报告 bug 以及参与特性讨论。
Underscore 是 DocumentCloud 的一个开源组件。
下载 (点击右键“另存为”)
开发版本 (1.7.0) 46kb,未压缩,包含大量注释
http://www.bootcss.com/p/underscore/underscore.js
生产环境版本 (1.7.0) 5.2kb,去除注释并压缩
(Source Map)http://www.bootcss.com/p/underscore/underscore-min.js
不稳定版本 不发布,当前 master 代码分支,风险自负。
https://raw.github.com/jashkenas/underscore/master/underscore.js