underscore是非常好用的封装库,大小只有4KB,大多插件都是以underscore为基础;

  underscore分5大部分;集合;数组;函数;对象;工具

  集合:集合就是伪数组,虽然长的和数组一样,但是不存在数组的属性和方法;

  假设我们需要数组的方法,他们没有,就需要人为的封装,还需要考虑兼容性,太麻烦了;

  underscore就解决了这个问题;  '_'为他的调用对象

  1._.each(a,function(ele,index))           each的第一个参数是集合本身,第二个参数为函数,函数里两个参数(第一个参数:里面的元素,第二个参数:就是元素索引)

  2._.map()    用法同_each()   但是他可以对里面元素进行加工,返回处理后的新数组;

  3._.find(arr,function(){})  找到第一个满足条件的元素,没有为undefined;

  4._.filter()   找到所有满足条件的元素,返回新数组;

  集合本身就是数组,所以数组也可以运用集合的方法;

  数组:

  1._.first()  返回数组第一个元素,传递参数n     返回从第一个到第n个参数;

  2._.last()   返回数组中最后一个元素,传递参数n   返回从最后参数到n个参数;

  3._.initial()  删除数组中最后一个元素,传递参数n   返回往前删除n个参数;

  4._.rest()  删除数组中第一个参数,传递参数n,返回从前往后删n个参数;

  5._.Object()  将数组转为对象,不管是几维;

  函数:

  1._.bind(fn,obj)  绑定完之后,返回绑定完后的函数fn,里面的this就是obj;

  2._.delay(fn,5)  等待几秒后执行里面的函数;

  3._.once()  这个函数只能调用一次,不许多个调用;

  4._.after(n,fn)  在运行n次之后才会执行fn函数,(要保证,所有的异步都完成之后才执行) 

  5._before(n,fn)  创建一个函数fn调用不超过n次,如果超过n次,就不再执行,返回最后一个结果,并被记住;

  对象:

  1._.keys()  检索obj中所有可枚举的属性

  2._.allKeys()  将对象上属性和他原型上的属性,列举出来;

  3._.values()  返回所有的属性值;

  4._.extend()  将n个对象合并到一个对象上;

  5._clone()  浅拷贝;

  工具:

  1._times(n.fn)  函数调用n次,函数有个形参,返回为索引;

  2._.random()  返回最大值和最小值的随机整数,如果1个参数,返回0到那个参数的随机数;

  3._.mixin()  如果你有特别好的方法,可以通过这个方法追加到  Underscore.js(1.9.1) 中文文档  里面哦;

  4._.now()  时间戳;

  5._template()  模板,预编译模板;

  这里只是将部分计较重要的方法和大家进行了介绍,

  详情请看   https://www.html.cn/doc/underscore/#each

Underscore.js部分讲解的更多相关文章

  1. 深入解析Underscore.js源码架构

    Underscore.js是很有名的一个工具库,我也经常用他来处理对象,数组等,本文会深入解析Underscore源码架构,跟大家一起学习下他源码的亮点,然后模仿他写一个简单的架子来加深理解.他的源码 ...

  2. Underscore.js

    概述 Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库 ...

  3. 新手入门Underscore.js 中文(template)

    Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了javaScript的编程.MVC框架Backbone.js就将这个库作为自 ...

  4. HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改

    效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下: <script type="text/j-template" id="tpl_popb ...

  5. Underscore.js使用

    Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象. 他解决了这个问题:"如果我面对一个空白的 ...

  6. Underscore.js基础入门

    公司产品集成了对Underscore.js,所以需要对这个库有一定的了解.通过查阅资料,发现这个库主是对Array和JSON的处理支持.通过Underscore.js库,可以方便的对Array和JSO ...

  7. (2)Underscore.js常用方法

    目录 1.集合相关方法        1.1.数组的处理                map(循环,有返回值),将返回的值依次存入一个新的数组                each(循环,无返回值 ...

  8. (1)Underscore.js入门

    1. Underscore对象封装 Underscore并没有在原生的JavaScript对象原型中进行扩展,而是像jQuery一样,将数据封装在一个自定义对象中(下文中称"Undersco ...

  9. underscore.js依赖库函数分析二(查找)

    查找: 在underscore.js封装了对dom查找的操作,find()和filter()函数,find()函数的查找操作是返回首个与条件相符的元素值,filter()函数是找到与条件相符的所有元素 ...

随机推荐

  1. C++学习(二十三)(C语言部分)之 指针4

    指针 指针 存放地址 只能存放地址 使用 &取地址运算符 *取值 解引用运算符 malloc 申请堆内存 free释放堆内存 1.1 指针 存放的地址(变量地址 常量区的地址 堆区内存首地址 ...

  2. [codeforces round#475 div2 ][C Alternating Sum ]

    http://codeforces.com/contest/964/problem/C 题目大意:给出一个等比序列求和并且mod 1e9+9. 题目分析:等比数列的前n项和公式通过等公比错位相减法可以 ...

  3. Map接口的使用

    1.Map定义: Collection是孤立存在的,向集合中存储元素是一个一个放,Map中的集合 存储是成对,通过键找到值,键和值是映射关系. 2.注意: Map集合中不能包含重复的键,但是可以包含重 ...

  4. Java和C++的区别杂记

    1.java中的作用域描述符(类比于C++是通过"."来实现,Java中"类名.静态成员名",C++中"类名::静态成员名" 2.java中 ...

  5. Android.bp学习笔记

    1.Android.bp简介 Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生.An ...

  6. lerna import && add 使用&&常见问题解决

    使用lerna 的import 我们可以方便的将一个普通的npm 包倒入到lerna 管理的monorepo 中 环境准备 lerna init 注意必须是一个git 项目,同时需要commit ,不 ...

  7. kafka 的 docker 镜像使用

    Kafka 还没有提供官方的镜像(2019.01.29),能找到的都是一些社区维护的镜像包. 这里使用这个镜像:https://hub.docker.com/r/spotify/kafka

  8. C# ASCII与字符串间相互转换 (转)

    引言: 最近开始学习C#,在写串口助手小工具时遇到十六进制发送与字符发送之间转换的问题, 小弟通过网络各路大神的帮助下,终于实现正确显示收发,小弟菜鸟一枚,不足之处还望各位批评指正O(∩_∩)O! 其 ...

  9. Python程序的执行过程 解释型语言和编译型语言

    转载地址:http://blog.csdn.net/lujiandong1/article/details/50067655 1. Python是一门解释型语言? 我初学Python时,听到的关于Py ...

  10. SPI Flash Memory 芯片手册阅读

    SPI Flash Memory 芯片手册阅读 信息来源