underscore学习笔记

学习underscore时,我参考了sun80264629的博客Backbone入门指南(二):依赖库Underscore
underscore类似于jQuery,是一个工具库,是对javascript的一个封装,封装出underscore对象,用_表示。如果想看原生的javascript数据,可以使用_.value()方法。
underscore的使用方法也类似于jQuery,它也支持链式操作,只不过在链式操作时需要进行声明:**.chain().***,类似于jQuery返回一个jQuery对象这里返回一个underscore对象。
underscore中可以扩展自定义方法:_.mixin(),这些方法被追加到Underscore的原型对象中。
作为javascript的工具库,我们着重分析一下underscore提供的方法。这些方法大致上可以分成:集合(collection)、数组(array)、函数(function)、对象(object)和工具(utility)五大类。如下图:

1、each()
用途:遍历元素
使用方法:
_.each(list, iterator, [context])
list 为数组时 iterator传递三个参数(element, index, list)
list为对象时 iterator传递三个参数(value, key, list)
如果传递了context参数,则把iterator绑定到context对象上。
2、模板解析
把模板内容放到一个script标签中,type属性是text/template而非text/javascript,因为它无法作为javascript脚本直接运行。通过_.template()方法接收模板内容和需要填充的数据,此模板内容先被解析为可执行的javascript,然后执行以下步骤:
a)通过with语句将解析后的JavaScript作用域修改为我们传递的数据对象,这使我们能够直接在模板中通过变量形式访问数据对象的属性
b)执行解析后的JavaScript(将数据填充到模板)
c)返回执行后的结果
由于只是一个工具方法,所以我只是粗略又言语混乱地组织了这么一篇文章,更快地学习是看其源码,看API

以上,欢迎大家批评指正!

此条目发表在CSS, Flash, 成长分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注