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中是如何进行链接操作吗?例如