(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 ...
随机推荐
- Xcode 6制作动态及静态Framework和各种坑
Xcode 6制作动态及静态Framework http://www.cocoachina.com/ios/20141126/10322.html 有没有写SDK或者要将一些常用的工具类做成Frame ...
- 迷之this?(转)
1. 迷之this 对于刚开始进行 JavaScript 编程的开发者来说,this 具有强大的魔力,它像谜团一样需要工程师们花大量的精力去真正理解它. 在后端的一些编程语言中,例如 Java.PHP ...
- WEB前端知识在乱花渐欲迷人眼的当下,如何分清主次和学习优先级呢?
从正美的吐槽开始,我回了下,说对盲目跟风的大众失去信心了.然后一些同学说我固步自封,另一些同学估计想说倚老卖老啥的.我想说清楚一点,我从 未停止过学习,只是对知识的重要程度和精力分配有自己的观点.具体 ...
- PYTHON 自动化学习之路
一.用户交互小程序 username = 'gyc' password = 'gyc' u = input("what is you name?:") p = input(&quo ...
- OpenCV成长之路(5):图像直方图的应用
正如第4篇文章所说的图像直方图在特征提取方面有着很重要的作用,本文将举两个实际工程中非常实用的例子来说明图像直方图的应用. 一.直方图的反向映射. 我们以人脸检测举例,在人脸检测中,我们第一步往往需要 ...
- 9.5---所有字符串的排列组合(CC150)
1,这个是自己写的.一直LTE. public static ArrayList<String> getPerms(String str) { if (str == null) { ret ...
- C/C++程序员必须熟练应用的开源项目[转]
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应 ...
- jQuery工作原理
jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ...
- 数据库视图 (View)和EntityFramework Code First结合使用
问题来源: 项目需要进行查询操作,会涉及多表间的联合查询,使用Entity Framework会牵涉到效率问题,为增加查询速度,所以使用数据库视图技术,综合来讲是将Model类映射到数据库View. ...
- poj 2524 (并查集)
http://poj.org/problem?id=2524 题意:在一所学校里面的人,都有宗教信仰,不过他们的宗教信仰有可能相同有可能不同,但你又不能直接去问他们,但你可以问他们和谁是同一个宗教.通 ...