Nodejs 模块系列之 Underscore 实用库
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。它是这个问题的答案:“如果我在一个空白的HTML页面前坐下, 并希望立即开始工作, 我需要什么?“...它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。
Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试, 等等
函数列表如下:
- - each
- - map
- - reduce
- - reduceRight
- - find
- - filter
- - where
- - findWhere
- - reject
- - every
- - some
- - contains
- - invoke
- - pluck
- - max
- - min
- - sortBy
- - groupBy
- - indexBy
- - countBy
- - shuffle
- - sample
- - toArray
- - size
- - partition
- - first
- - initial
- - last
- - rest
- - compact
- - flatten
- - without
- - union
- - intersection
- - difference
- - uniq
- - zip
- - unzip
- - object
- - indexOf
- - lastIndexOf
- - sortedIndex
- - findIndex
- - findLastIndex
- - range
- - bind
- - bindAll
- - partial
- - memoize
- - delay
- - defer
- - throttle
- - debounce
- - once
- - after
- - before
- - wrap
- - negate
- - compose
- - keys
- - allKeys
- - values
- - mapObject
- - pairs
- - invert
- - create
- - functions
- - findKey
- - extend
- - extendOwn
- - pick
- - omit
- - defaults
- - clone
- - tap
- - has
- - matcher
- - property
- - propertyOf
- - isEqual
- - isMatch
- - isEmpty
- - isElement
- - isArray
- - isObject
- - isArguments
- - isFunction
- - isString
- - isNumber
- - isFinite
- - isBoolean
- - isDate
- - isRegExp
- - isNaN
- - isNull
- - isUndefined