backbone 唯一依赖库Underscore.js
依赖库Underscore
Underscore库是Backbone的唯一依赖库,下面从五个方面介绍Underscore库中处理集合,数组,函数,对象,功能各个类型的主要函数的使用方法;
- 集合
each() / map()函数:根据一定条件遍历集合中的每个元素;
each_.each(list, iteratee, [context]) Alias: forEach :
map_.map(list, iteratee, [context]) Alias: collect
Find()/filter()函数:查找或过滤函数,在指定的列表和对象中,寻找符合iteratee迭代器中 自定义函数规则的元素项;
_.find(list, predicate,[context]) Alias: detect
_.filter(list, predicate,[context]) Alias: select
max()/min():返回list列表中最大值和最小值;
_.max(list, [iteratee],[context])
_.min(list, [iteratee], [context])
sortBy(), groupBy():对列表或对象进行排序和分组
_.sortBy(list, iteratee,[context])
_.groupBy(list, iteratee,[context])
- 数组
first() /last() 获取数组中的首个或最后一个元素,或指定位数的前面或后面数组
_.first(array, [n]) Alias: head, take
_.last(array, [n])
iindexOf()/lastIndexOf():查找某个元素是否存在于数组中
_.indexOf(array, value,[isSorted])
_.lastIndexOf(array, value,[fromIndex])
without()/union(): 排除数组中的某些或多个数组进行链接
_.without(array, *values)
_.union(*arrays)
- 函数
delay():段代码或一个函数推迟执行
_.delay(function, wait,*arguments)
once():创建一个只能调用一次的函数。
_.once(function)
wrap():把函数本身也包装至wraper(包装外层)中,将第一个函数 function 封装到函数 wrapper 里面, 并把函数 function 作为第一个参数传给 wrapper. 这样可以让wrapper 在 function 运行之前和之后 执行代码, 调整参数然后附有条件地执行.
_.wrap(function, wrapper)
compose():用于计算在数学中一些比较复杂的运算, 返回函数集 functions 组合后的复合函数, 也就是一个函数执行完之后把返回的结果再作为参数赋给下一个函数来执行. 以此类推. 在数学里, 把函数 f(), g(), 和 h() 组合起来可以得到复合函数 f(g(h()))。
_.compose(*functions)
- 对象
keys()/values():用于返回对象的属性名称和值
_.keys(object)
_.values({one: 1, two: 2, three: 3});
pick()/omit():返回白名单和不属于黑名单的对象
_.pick(object, *keys)
_.omit(object, *keys)
defaults():设置对象默认属性值,重置属性后,默认值则不起作用
_.defaults(object, *defaults)
has():返回对象集合中是否包含指定的Key值,包含返回true, 否则返回false
_.has(object, key)
- 功能
random():返回在指定范围内的随机数, 如果你只传递一个参数,那么将返回0和这个参数之间的整数。
_.random(min, max)
escape()/unescape(): HTML将编码和字符串转义;
_.escape(string)
_.unescape('Curly, Larry& Moe')
template()对页面模块内容进行编译
_.template(templateString,[settings])
chain():返回一个可以进行链式写法的对象, 返回一个封装的对象. 在封装的对象上调用方法会返回封装的对象本身, 直道到value方法调用为止.
_.chain(obj)