Underscore.js入门
Posted 【唐】三三
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Underscore.js入门相关的知识,希望对你有一定的参考价值。
1.Underscore对象封装
Underscore并没有在原生的javascript对象原型中进行扩展,而是像jQuery一样,将数据封装在一个自定义对象中(下文中称“Underscore对象”)。
你可以通过调用一个Underscore对象的value()方法来获取原生的JavaScript数据,例如:
window.onload =
function
() {
// 定义一个JavaScript内置对象
var
jsData = {
name:
\'data\'
,
dne:
\'123\'
}
// 通过_()方法将对象创建为一个Underscore对象
// underscoreData对象的原型中包含了Underscore中定义的所有方法,你可以任意使用
var
underscoreData = _(jsData);
// 通过value方法获取原生数据, 即jsData
console.info( underscoreData.value());
}
2.优先调用JavaScript 1.6内置方法
Underscore中有许多方法在JavaScript1.6中已经被纳入规范,因此在Underscore对象内部,会优先调用宿主环境提供的内置方法(如果宿主环境已经实现了这些方法),以此提高函数的执行效率。
而对于不支持JavaScript 1.6的宿主环境,Underscore会通过自己的方式实现,而对开发者来说,这些完全是透明的。
这里所说的宿主环境,可能是Node.js运行环境,或客户端浏览器
3.改变命名空间
Underscore默认使用_(下划线)来访问和创建对象,但这个名字可能不符合我们的命名规范,或容易引起命名冲突。
我们可以通过noConflict()方法来改变Underscore的命名,并恢复_(下划线)变量之前的值,例如:
<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>
4.链式操作
还记得我们在jQuery中是如何进行链接操作吗?例如