在学习过程中是需要用到underscore.js的,所以需要从头开始认识,了解,掌握underscore.js的用法。
underscore里有许多函数,主要涉及collection、object、array、function的一些操作。
下面是关于collection的一些函数。从官网总结一下最近用到的函数。
each
语法
_.each(list, iteratee, [context])
描述:
遍历list中的所有元素,按顺序用遍历输出每个元素。如果传递了context参数,则把iteratee绑定到 context对象上。每次调用iteratee都会传递三个参数:(element, index, list)。如果list是个JavaScript对象,iteratee的参数是(value, key, list))。返回list以方便链式调用。
例:
_.each([1, 2, 3], function(num){console.log(num)}); _.each({one: 1, two: 2, three: 3}, function(value,key){console.log(key) console.log(value)});
输出:
1 2 3 one: 1, two: 2, three: 3
map
语法:
_.map(list, iteratee, [context])
描述:
通过转换函数(iteratee迭代器)映射列表中的每个值产生价值的新数组。iteratee传递三个参数:value,然后是迭代 index(或 key 愚人码头注:如果list是个JavaScript对象是,这个参数就是key),最后一个是引用指向整个list。 map 和 each的区别就是map可以接受返回值
例:
_.map([1, 2, 3], function(num){ return num +1; }); _.map({one: 1, two: 2, three: 3}, function(num, key){ return num +3; }); _.map([[1, 2], [3, 4]], _.first); _.map([1,2,3],function(num){if(num > 2){return num }}); 输出:
[2, 3, 4] [4, 5, 6] [1, 3] [undefined,2,3]
我想通过第四个例子也可以稍微看出map和each的一点区别了,map是对list的值操作返回相同长度的数组,each是对list元素进行迭代,可以改变list的长度,没有返回值。
filter
语法:
_.filter(list, predicate, [context])
描述:
遍历list中的每个值,返回包含所有通过predicate真值检测的元素值。(愚人码头注:如果存在原生filter方法,则用原生的filter方法。)
例:
var arr = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
输出:
[2, 4, 6]
fiiter也是当迭代list之后只会返回出符合条件的元素,list的长度并不会发生改变。
这就是最近常用到的一些迭代的函数。要分清操作的对象是什么。
相关推荐
首先,"underscore-contrib"是基于JavaScript的轻量级库Underscore的一个扩展集,它提供了更多的功能和工具方法,以满足开发者在处理复杂业务逻辑时的需求。Underscore本身是一个强大的工具库,它为JavaScript提供了...
首先,underscore.string是underscore.js库的一个扩展,它为JavaScript的String对象添加了超过150个实用方法,涵盖了字符串处理的各个方面,如格式化、分割、查找替换、大小写转换等。这个库的设计理念是使字符串...
总之,这个名为"underscore-analysis, underscore-1.8.3.js 源码解读 & 系列文章(完 )"的压缩包,是JavaScript开发者不可多得的学习材料。它不仅提供了一次深入学习underscore.js的机会,也是一次提高JavaScript...
underscore.js是一款轻量级的JavaScript实用库,它为JavaScript开发提供了大量的实用函数,极大地增强了原生JavaScript对象的处理能力。在"underscore-1.6.0.zip"这个压缩包中,包含的就是underscore库的1.6.0版本。...
标题 "glasgowjs-underscore" 指向的是一个与 JavaScript 相关的项目,特别是 ...通过分析和学习这个项目中的演示代码,我们可以深入理解 Underscore.js 的功能和用法,并将其应用到自己的 JavaScript 开发实践中。
标题 "Triple-underscore.github.io:各种Web规范的日语翻译" 提供了我们即将探讨的核心内容:一个项目,它专门提供Web平台相关规范的日语版本。这个项目可能包括但不限于HTML、CSS、JavaScript等Web开发基础标准的...
下划线库(Underscore.js)是JavaScript的一个轻量级库,它的设计灵感来源于Ruby语言,主要目的是为JavaScript提供一套实用的工具方法,使得代码更加简洁和可读性更强。该库支持多种数据结构的操作,如数组、对象和...
总结,Underscore.js作为一款优秀的JavaScript实用库,它的源码学习能够提升我们的编程技巧,加深对函数式编程的理解,同时也能帮助我们在项目中更好地利用这些工具,提高代码质量。通过深入学习和实践,你将能够...
`underscore函数说明文档.docx`则详细阐述了各个函数的用法、参数和返回值,是学习和使用Underscore.js的重要参考资料。通过查阅这份文档,开发者可以更深入地理解每个函数的工作原理,并在实际项目中灵活应用。 四...
《深入剖析underscore.js:源码探索与学习指南》 在JavaScript的世界里,underscore.js是一个备受开发者喜爱的轻量级库,它提供了丰富的实用函数,帮助我们处理数组、对象、函数等核心数据类型,大大简化了代码。本...
underscore.js源码,适合初始化学习javascript,强烈推荐
JavaScript、jQuery和Underscore.js是Web开发中的三个重要库,它们为前端开发者提供了丰富的功能和便利性。这里,我们详细探讨这三个库的核心概念、用途和API。 首先,JavaScript是Web开发的基础,它是一种轻量级的...
通过学习和理解这些示例,开发者可以更好地掌握如何在实际项目中结合Backbone.js和Underscore.js,构建出高效、可维护的前端应用。同时,这个主题也鼓励开发者深入研究函数式编程的思想,提升代码质量。总之,...
Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践函数式编程变得更加容易。 在JavaScript中,函数式编程的核心概念包括: 1. **纯函数**:一个纯函数在...
underscore.js,简称下划线或_,是一款轻量级的JavaScript实用库,它提供了一系列高效、实用的函数,用于处理数组、对象、字符串等各种数据类型,帮助开发者更方便地进行数据操作和函数式编程。本文将深入探讨...
《深入剖析 underscore.js:探索 JavaScript 开源库的精髓》 在JavaScript的世界里,underscore.js(下文简称_)...无论你是初学者还是经验丰富的开发者,深入学习和理解 underscore.js 都将对你的编程生涯大有裨益。
通过对Underscore.js源码的深入学习,开发者不仅可以掌握JavaScript的高级用法,还能了解到函数式编程的设计模式和优化技巧,为自己的编程生涯添加一笔宝贵的经验。同时,了解并参与到开源项目中,也是提升专业素养...
Underscore.js 是一个功能强大的 JavaScript 工具库,它提供了大量的函数式编程支持,这些支持在 Prototype.js 或 Ruby 中是常见的,但并未扩展任何内置的 JavaScript 对象。Underscore 的设计初衷是为了与 jQuery ...
4. **Underscore.js/Lodash**:它们的_.template方法也提供了基本的模板功能。 5. **React JSX**:虽然不是传统意义上的模板引擎,但其组件化思想和JSX语法可以看作一种模板。 为了提升JavaScript模板引擎的性能,...
总结,Underscore.js作为JavaScript开发的强大辅助工具,通过“underscore-example”项目的学习,能让你深入理解并熟练运用其提供的各种功能。无论是在日常开发还是复杂项目中,掌握Underscore.js都能使你的代码更加...