Underscore
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。
- Underscore提供了100多个函数,包括each、map、reduce、 reduceRight、等
- 还有辅助函数,函数绑定、JavaScript模板功能、强类型相等测试、创建快速索引等
英文地址:http://underscorejs.org/
中文地址:http://www.bootcss.com/p/underscore/
Underscore模版的使用
1、视图层展示
1 | <div id="wrap"></div>//容器 |
2、数据填充
1 | var data = { |
3、UI展示
默认模板标签
- <% %> :包含JavaScript代码,代码将在渲染数据时被执行
- <%= %> : 用于输出数据,可以是一个变量、某个对象的属性、或函数调用(将输出函数的返回值)
- <%- %> : 用于输出数据,同时会将数据中包含的HTML字符转换为实体形式
修改模版标签
通过templateSettings来修改模版标签,如下:
1 | _.templateSettings = { |
解析模版
模版执行
1 | //获取模版内容 |
后语
然而这是underscore中自带的模版功能,而它的强大之处,在于提供的100多个函数,里面包括了:
- 集合(each、map、find…)
- 数组(first、last、rest…)
- 函数(bind、bindAll、delay…)
- 对象(keys、allKeys、mapObject…)
- 功能(random、times、noConflict、template…)
- 支持链式语法
- ……
十分有用,Gzip压缩后5.7kb