(1)Underscore.js入门
window.onload = function () { // 定义一个JavaScript内置对象 var jsData = { name: 'data', dne:'123' } // 通过_()方法将对象创建为一个Underscore对象 // underscoreData对象的原型中包含了Underscore中定义的所有方法,你可以任意使用 var underscoreData = _(jsData); // 通过value方法获取原生数据, 即jsData console.info( underscoreData.value()); }
<script type="text/javascript"> var _ = '自定义变量'; </script> <script type="text/javascript" src="underscore/underscore-min.js"></script> <script type="text/javascript"> // Underscore对象 console.dir(_); // 将Underscore对象重命名为us, 后面都通过us来访问和创建Underscore对象 var us = _.noConflict(); // 输出"自定义变量" console.dir(_); </script>$('a') .css('position', 'relative') .attr('href', '#') .show();var arr = [10, 20, 30]; _(arr) .chain() .map(function(item){ return item++; }) .first() .value(); //输出:10// 这是Underscore中实现链式操作的关键函数,它将返回值封装为一个新的Underscore对象,并再次调用chain()方法,为方法链中的下一个函数提供支持。 var result = function(obj, chain) { return chain ? _(obj).chain() : obj; }_.mixin({ method1: function(object) { // todo }, method2: function(arr) { // todo }, method3: function(fn) { // todo } });
var arr = [1, 2, 3]; _(arr).map(function(item, i) { arr[i] = item + 1; }); var obj = { first : 1, second : 2 } _(obj).each(function(value, key) { return obj[key] = value + 1; });
<script> window.onload = function () { var query = _(function () { // 在这里进行查询操作 console.info($('#search').val()) //2秒后查询 }).debounce(2000); $('#search').bind('keypress', query); } </script></head><body> <input type="text" id="search" name="search" /></body>
<script> window.onload = function () { var query = _(function () { // 在这里进行查询操作 console.info($('#search').val()) //2秒后查询 }).debounce(2000); $('#search').bind('keypress', query); var html = $('.textone').html(); for (var i = 0; i < 1000; i++) { html += $('.textone').append(i+"<br>"); } var query = _(function () { // 在这里进行查询操作 console.info($('#search').val()) //至少间隔3秒后查询 }).throttle(3000); $(window).bind('scroll', query); } </script></head><body> <input type="text" id="search" name="search" /> <div class="textone"></div></body>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- <script src="Scripts/underscore.js"></script>
- <script src="Scripts/jquery-1.11.1.min.js"></script>
- </head>
- <body>
- <!-- 用于显示渲染后的标签 -->
- <ul id="element"></ul>
- <!-- 定义模板,将模板内容放到一个script标签中 -->
- <script type="text/template" id="tpl">
- <% for(var i = 0; i < list.length; i++) { %>
- <% var item = list[i] %>
- <li>
- <span><%=item.firstName%> <%=item.lastName%></span>
- <span><%-item.city%></span>
- </li>
- <% } %>
- </script>
- <script type="text/javascript">
- // 获取渲染元素和模板内容
- var element = $('#element'),
- tpl = $('#tpl').html();
- // 创建数据, 这些数据可能是你从服务器获取的
- var data = {
- list: [
- { firstName: '<a href="#">Zhang</a>', lastName: 'San', city: 'Shanghai' },
- { firstName: 'Li', lastName: 'Si', city: '<a href="#">Beijing</a>' },
- { firstName: 'Wang', lastName: 'Wu', city: 'Guangzhou' },
- { firstName: 'Zhao', lastName: 'Liu', city: 'Shenzhen' }
- ]
- }
- // 解析模板, 返回解析后的内容
- //var html = _.template(tpl, data);
- var compile = _.template(tpl)(data);
- console.log(compile);
- html = compile;
- // 将解析后的内容填充到渲染元素
- element.html(html);
- </script>
- </body>
- </html>
- _.templateSettings = {
- evaluate : /\{%([\s\S]+?)\%\}/g,
- interpolate : /\{%=([\s\S]+?)\%\}/g,
- escape : /\{%-([\s\S]+?)%\}/g
- }
- // 解析模板, 返回解析后的内容
- var render = _.template(tpl);
- var html = render(data);
- // 将解析后的内容填充到渲染元素
- element.html(html);
(1)Underscore.js入门的更多相关文章
- Underscore.js(1.7.0) 中文文档 Underscore.js 入门
原文地址:http://www.css88.com/doc/underscore/ Underscore.js 入门 http://www.tuicool.com/articles/jQ3IfeR
- Underscore.js 入门-常用方法介绍
Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库作为自 ...
- Underscore.js 入门
Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率.将它单独运用到任何一个页面.(另外,Underscore还可以被使用在Node.js运行环境.) 在学习Unders ...
- 新手入门Underscore.js 中文(template)
Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了javaScript的编程.MVC框架Backbone.js就将这个库作为自 ...
- Underscore.js基础入门
公司产品集成了对Underscore.js,所以需要对这个库有一定的了解.通过查阅资料,发现这个库主是对Array和JSON的处理支持.通过Underscore.js库,可以方便的对Array和JSO ...
- 前端mvc框架backbone.js入门[转]
原文地址:http://www.cnblogs.com/zhjh256/p/6083618.html 关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以 ...
- 前端mvc框架backbone.js入门
关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以长久生存,通常都是有其特定优势和擅长点的. 使用backbone.js作为前端框架的应用通常都是htm ...
- Underscore.js
概述 Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库 ...
- HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改
效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下: <script type="text/j-template" id="tpl_popb ...
随机推荐
- sqlite采用的ORM包
关注了两个库的使用方式,一个是Dapper,一个是Simple.Data.考虑一个可选的是ORMLite, Dapper和simple.data都比较好用,动态对象的使用妙不可言,区别在于 //Dap ...
- [KOJ95603]全球奥运
[COJ95603]全球奥运 试题描述 一个环形的图中有N个城市,奥运会重要项目就是传递圣火,每个城市有A[i]个圣火,每个城市可以向它相邻的城市传递圣火(其中1号城市可以传递圣火到N号城市或2号城市 ...
- 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计
<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...
- linux下的/dev/shm目录
linux下的/dev/shm目录 linux中/dev目录下一般都是一些设备文件,例如磁盘.内存.摄像头等. /dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都 ...
- flask 链接 url_for()
通常html的文件都放在template里面,那么静态的文件放在哪呢?staitc里面 调用 url_for('static', filename='css/styles.css', _externa ...
- django 技巧锦集
1. 如何将model对象转化成一个dict,这在restful api的设计上会有用. 答案:使用django.forms.models的model_to_dict方法,demo如下: from d ...
- 使用Gitosis搭建Git服务器
使用Gitosis搭建Git服务器 作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/build- ...
- 利用php的register_shutdown_function来记录php的输出日志
最近在做的一个项目..由于全是通过远程http请求来调用php的接口程序.. 接收到的参数和返回的内容对开发人员来说都是未知不可见的.. 虽然可以通过直接在脚本中模拟请求..但由于实际环境复杂的多.. ...
- One Edit Distance
Given two strings S and T, determine if they are both one edit distance apart. 分析:https://segmentfau ...
- wxPython+Boa Constructor环境配置
配置之前先完成eclipse + Pydev的配置环境.详见http://www.cnblogs.com/dflower/archive/2010/05/13/1734522.html 1. 安装 w ...