Underscore.js部分讲解
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部分讲解的更多相关文章
- 深入解析Underscore.js源码架构
Underscore.js是很有名的一个工具库,我也经常用他来处理对象,数组等,本文会深入解析Underscore源码架构,跟大家一起学习下他源码的亮点,然后模仿他写一个简单的架子来加深理解.他的源码 ...
- Underscore.js
概述 Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程.MVC框架Backbone.js就将这个库 ...
- 新手入门Underscore.js 中文(template)
Underscore.js是一个很精干的库,压缩后只有4KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了javaScript的编程.MVC框架Backbone.js就将这个库作为自 ...
- HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改
效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下: <script type="text/j-template" id="tpl_popb ...
- Underscore.js使用
Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象. 他解决了这个问题:"如果我面对一个空白的 ...
- Underscore.js基础入门
公司产品集成了对Underscore.js,所以需要对这个库有一定的了解.通过查阅资料,发现这个库主是对Array和JSON的处理支持.通过Underscore.js库,可以方便的对Array和JSO ...
- (2)Underscore.js常用方法
目录 1.集合相关方法 1.1.数组的处理 map(循环,有返回值),将返回的值依次存入一个新的数组 each(循环,无返回值 ...
- (1)Underscore.js入门
1. Underscore对象封装 Underscore并没有在原生的JavaScript对象原型中进行扩展,而是像jQuery一样,将数据封装在一个自定义对象中(下文中称"Undersco ...
- underscore.js依赖库函数分析二(查找)
查找: 在underscore.js封装了对dom查找的操作,find()和filter()函数,find()函数的查找操作是返回首个与条件相符的元素值,filter()函数是找到与条件相符的所有元素 ...
随机推荐
- Linux中查看显卡硬件信息
Linux中查看显卡硬件信息 https://ywnz.com/linuxjc/67.html lspci -vnn | grep VGA -A 12lshw -C display 查看当前使用的显卡 ...
- spring IOC简单分析
Spring IOC 体系结构 BeanFactory(BeanFactory 里只对 IOC 容器的基本行为作了定义,根本不关心你的 bean 是如何定义怎样加载的.正如我们只关心工厂里得到什么的产 ...
- (16)JavaScript的流程控制(js的循环)
流程控制有3种结构 1.顺序结构:代码执行的本质就是顺序结构 2.分支结构:if家族 语法规则: if (条件1) { //代码块1}else if (条件2){ //代码块1}//如果所有条件都不满 ...
- 数据库与java的连接
jdbc: java database connection,也就是java的数据库连接. 作用: 完成数据库数据和内存数据的交互. 为了屏蔽不同数据库的差异,在内存和各种数据库之间建立了一个接口标准 ...
- 持续集成--Jenkins--1
持续集成之Jenkins安装部署 1.安装JDK Jenkins是Java编写的,所以需要先安装JDK,这里采用yum安装,如果对版本有需求,可以直接在Oracle官网下载JDK. [root@l ...
- Java 11 部分新特性
JEP 320: Remove the Java EE and CORBA Modules(删除 Java EE 和 CORBA 模块) Java EE和CORBA两个模块在JDK9中已经标记&quo ...
- 论 业务系统 架构 的 简化 (一) 不需要 MQ
MQ , 就是 消息队列(Message Queue), 不知从什么时候起, MQ 被用来 搭建 分布式 业务系统 架构, 一个重要作用 就是用来 “削峰” . 我们 这里 就来 讨论 如何 设 ...
- 谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?
在 .Net 生态里为什么没有 Hadoop 系列 ? 有需要 有 Hadoop 系列 吗 ?
- [转]java虚拟机工作原理详解
一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 javac YourClassNam ...
- CPS(Cyber-Physical Systems)白皮书-摘选
<中国制造2025>提出,“基于信息物理系统的智能装备.智能工厂等智能制造正在引领制造方式变革”,要围绕控制系统.工业软件.工业网络.工业云服务和工业大数据平台等,加强信息物理系统的研发与 ...