(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 ...
随机推荐
- vs2012+qt5.2.0环境搭建
1.安装vs2012: 2.下载Qt 5.2.0 for Windows 32-bit(VS 2012, 579 MB) 和 Visual Studio Add-in 1.2.2for Qt5 注意: ...
- ndk学习15: IPC机制
Linux IPC机制 来自为知笔记(Wiz)
- 统计代码git提交的行数
$ git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ a ...
- IN和EXISTS的详解
从效率来看: 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<& ...
- Android studio教程
Android studio教程: http://jingyan.baidu.com/season/44062
- Sum of Left Leaves
Find the sum of all left leaves in a given binary tree. Example: 3 / \ 9 20 / \ 15 7 There are two l ...
- c#.net Excel中的数据导入到SQL数据库中
/// <summary> /// 从Excel 导入学生 /// </summary> /// <param name=&qu ...
- 基础02 Java 跨平台原理
1993 , JAVA初衷: 机顶盒 1994 年互联网刚刚兴起,.(高司令\ 高斯林),改造成了面向互联网的计算机语言.java重要特性之 ------- 跨平台(一次编译,到处运行).平台:操作系 ...
- fastReport 运行时设计报表 (mtm)
设计报表 通过“TfrxReport.DesignReport”方法调用报表设计器.你必须在你的项目中包含报表设计器 (必要条件是:要么使用“TfrxDesigner”组件,要么增加“frxDesgn ...
- Django ~module index
https://docs.djangoproject.com/en/1.9/py-modindex/ django.conf.urls django.contrib.admin django.db.m ...