(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 ...
随机推荐
- django 1.7+ default_permissions
由于做Caption要做权限设计.在核心类的设计的时候需要做好权限的基础设计.django 1.7+以后 django.db.modes新增特性 default_permissions,官方文档语焉不 ...
- mysql中You can't specify target table for update in FROM clause错误
原SQL delete from DEP_SYSTEM_PORTLET_SETTINGS where ID in ( select ID from DEP_SYSTEM_PORTLET_SETTING ...
- mybatis动态SQL - like
用'%${name}%'可以实现模糊查询,但会放开SQL注入漏洞. <when test="name != null and name!=''"> AND name l ...
- ubuntu查看端口占用
查看端口号 sudo netstat -ltnp | 结束进程 sudo kill pid
- haproxy simple cfg
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group hap ...
- 【leetcode】Minimum Path Sum
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- C#之Windows消息处理
public enum WindowsMessage:int { /// <summary> /// /// </summary> WM_NULL = 0x0000, /// ...
- C#之this的使用
msdn地址: https://msdn.microsoft.com/zh-cn/library/bb383977(v=vs.120).aspx 扩展方法使你能够向现有类型“添加”方法,而无需创建新的 ...
- C#之枚举类型
参考: http://www.cnblogs.com/an-wl/archive/2011/04/14/2015815.html 惯例先上MSDN: https://msdn.microsoft.co ...
- 如何恢复低版本的FlashPlayer
本人做页游开发时,游戏用户那边经常会遇到一些很奇怪的问题.比如: 1.用户进入游戏,只显示游戏部分界面,chrome浏览器是正常的,就IE死活不行. 2.进入游戏时白屏或者一直加载不上. 3.玩游戏时 ...