underscore.js

本文详细介绍underscore.js库,一个用于浏览器和node.js的JavaScript实用工具集,提供了丰富的函数式编程功能,如map、filter、invoke等,同时介绍了其与jQuery的区别及在Backbone.js中的应用。文章还展示了zip、unzip和template函数的具体使用案例。
摘要由CSDN通过智能技术生成

underscore.js  是一个工具函数库,可以用在浏览器端,也可以用在node.js中。

官方文档   中文文档  在npm中搜索underscore

underscore是一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象,而是像jQuery一样,将数据封装在一个自定义对象中。它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。

Underscore提供了100多个函数,包括常用的: mapfilterinvoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试, 等等.

underscore.js的简单使用

underscore.js文档详细介绍了每个函数的使用方法,下面具体说明一下

1、zip     _.zip(*arrays) 和  unzip      _.unzip(*arrays) 

var _ = require('underscore');

var names = ['Tom', 'Jack', 'Gina'];
var ages = [23, 17, 34];
var genders = ['男', '男', '女'];

// zip 将 每个arrays中相应位置的值合并在一起。
var result = _.zip(names, ages, genders);
console.log(result);

// unzip与zip功能相反的函数,给定若干arrays,返回一串联的新数组,
// 新数组第一元素包含所有的输入数组的第一元素,其第二包含了所有的第二元素,依此类推。
result = _.unzip(result);
console.log(result);

node命令运行该js文件

2、template     _.template(templateString, [settings]) 

将 JavaScript 模板编译为可以用于页面呈现的函数, 对于通过JSON数据源生成复杂的HTML并呈现出来的操作非常有用。

(1)使用 <%= … %>插入变量

var _ = require('underscore');

// 声明一段HTML模板代码
var html = '<h2><%= name %></h2>';

// template() 函数返回的依然是一个函数
var fn = _.template(html);

// 调用 template() 返回的这个函数 fn
// fn 接收一个数据对象, 并用该数据对象,将 html 中的模板内容替换, 生成最终的 HTML代码
html = fn({name: 'Tom'});
console.log(html);

// fn 函数的源代码
// function fn(data) {
//   return render.call(this, data, _);
// }

(2)使用<% … %>执行任意的 JavaScript 代码

var _ = require('underscore');

// 声明一段HTML模板代码
var html = '<ul><% for(var i = 0; i < 5; i++) { %><li>underscore.js的template()函数</li><% } %></ul>';

// template() 函数返回的依然是一个函数
var fn = _.template(html);

// 调用 template() 返回的这个函数 fn
html = fn();
console.log(html);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值