Underscore——JS函数库
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826065.html
underscore是什么——它是一个js函数库
jQuery统一了不同浏览器之间的DOM操作的差异,让我们可以简单地对DOM进行操作,而underscore则提供了一套完善的函数接口,让我们更方便地在JavaScript中实现函数式编程。
Underscore.js是一个很精干的库,压缩后只有6KB,它提供了100多个函数,弥补了js标准库的不足,包括常用的: map, filter, invoke,函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试等等。
这些方法大致上可以分成:集合类操作函数(collection)、数组操作函数(array)、高阶函数(function)、对象操作函数(object)和工具函数(utility)五大类。
underscore怎么用
jQuery在加载时,会把自身绑定到唯一的全局变量$上,underscore与其类似,会把自身绑定到唯一的全局变量_上,这也是为啥它的名字叫underscore(下划线)的原因。
Underscor.js定义了一个下划线(_)对象,函数库的所有方法都属于这个对象。
$(选择器)操作DOM,而_.fun()调用函数。
一:Collections操作函数
underscore为集合类对象提供了一致的接口。集合类是指Array和Object,暂不支持Map和Set。

二:Arrays操作函数
underscore为Array提供了许多工具类方法,可以更方便快捷地操作Array。

三:Functions高阶函数
提供了大量JavaScript本身没有的高阶函数。

绑定运行环境和参数
在不同的运行环境下,javaScript函数内部的变量所在的上下文是不同的。这种特性会给程序带来不确定性,为了解决这个问题,Underscore.js提供了两个方法,用来给函数绑定上下文。
bind:十分强大,用的比较多
_.bind(function, object, *arguments) 绑定函数 function 到对象 object 上, 也就是无论何时调用函数, 函数里的 this 都指向这个 object.
无论何时调用该函数, 函数里的 this 都指向这个 object。
四:Objects操作函数
提供了大量针对Object的函数。

五:实用功能

六:Chaining链式语法

Underscore——JS函数库的更多相关文章
- Underscore.js 函数节流简单测试
函数节流在日常的DOM界面数据交互中有比较大的作用,可以减少服务器的请求,同时减少客户端的内存影响 Underscore.js 本省就包含了函数节流的处理函数 _.throttle 和 _.debo ...
- 在easyUI开发中,出现jquery.easyui.min.js函数库问题
easyUI是jquery的一个插件,是民间的插件.easyUI使用起来很方便,里面有网页制作的最重要的三大方块:javascript代码.html代码和Css样式.我们在导入easyUI库后,可以直 ...
- underscore.js 一个强大的js函数库
Underscore提供的100多个函数,主要涉及对Collection.Object.Array.Function的操作: Collections(集合) each, map, reduce, re ...
- JS函数库Underscore.js
http://underscorejs.org/ http://www.css88.com/doc/underscore/ http://www.bootcss.com/p/underscore/
- 我的js函数库(持续更新)
常用js初始化函数 function id(obj) { return document.getElementById(obj); } function bind(obj, ev, fn) { if ...
- Underscore.js工具库
Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象. 他解决了这个问题:“如果我面对一个空白的 HTML ...
- 苹果浏览器Safari对JS函数库中newDate()函数中的参数的解析中不支持形如“2020-01-01”形式
苹果浏览器safari对new Date('1937-01-01')不支持,用.replace(/-/g, "/")函数替换掉中划线即可 如果不做处理,会报错:invalid da ...
- js函数库-D3
推荐: https://www.cnblogs.com/createGod/p/6884629.html
- underscore.js源码研究(8)
概述 很早就想研究underscore源码了,虽然underscore.js这个库有些过时了,但是我还是想学习一下库的架构,函数式编程以及常用方法的编写这些方面的内容,又恰好没什么其它要研究的了,所以 ...
随机推荐
- Python之文件读写(csv文件,CSV库,Pandas库)
前言 一.Python文件读取 二.读取CSV文件 一.Python文件读取 1. open函数是内置函数之with操作 - 关于路径设置的问题斜杠设置成D:\\文件夹\\文件或是D:/文件夹/文件 ...
- SpringData JPA一对多多对一多对多关联
一.一对多.多对一 1.Country实体类 2.City实体类 3.CountryDao层 4.CityDao层 5.Controller package com.zn.controller; im ...
- vb.net 对字符串中的括号匹配进行判断,容许嵌套
' 括号检查 ' 括号共有四种: 1(英文圆括号),2(中文圆括号),3[方括号],4{花括号} ' 要左右匹配(可以嵌套) Private Shared Function i ...
- QT QWidget 关闭的流程
当QWidget被点击右上角“X”关闭时: 1.调用虚函数closeEvent 2.调用QWidget的析构函数
- Docker整合dockerfly实现UI界面管理(单机版)
一.搜索镜像 docker search dockerfly 二.根据镜像使用排名(一般情况下拉取使用率最高的镜像名),我这里使用的是阿里云镜像地址 docker pull registry.cn-h ...
- pytest学习笔记二 fixtrue
前言 官方文档关于fixture功能的解释如下: The purpose of test fixtures is to provide a fixed baseline upon which test ...
- 【发现】visualvm是jdk自带的一款监控工具
visualvm是jdk自带的一款监控工具.它提供了一个可视界面,用于查看 Java 虚拟机上运行的基于 Java 技术的程序的详细信息.VisualVM 对 Java Development Kit ...
- Linux常用基础(三)
1.gcc编译器 (1)简介 前期的GCC是GNU C Compiler,仅仅用于C语言的编译,经过多年的发展,现在的GCC为GNU Compiler Collection,并且目前支持多种编程语言的 ...
- KB,MB,GB,TB,PB,EB,ZB,YB,BB
1 Bit = Binary Digit 8 Bits = 1 Byte 1024 Bytes = 1 Kilobyte 1024 Kilobytes = 1 Megabyte 1024 Megaby ...
- Ansible13:Playbook循环语句
目录 循环语句 简介 loop关键字说明 在循环语句中注册变量 旧循环语句 1. with_items 2. with_nested 3. with_dict 4. with_fileglob 5. ...