1、_.noConflict:命名冲突处理方法

  1. _.noConflict = function() {
  2. root._ = previousUnderscore;
       //返回this不错
  3. return this;
  4. };

2、_.identity():默认的迭代处理器

  1. _.identity = function(value) {
  2. return value;
  3. };

3、_.times():调用指定的迭代器n次

  1. _.times = function (n, iterator, context) {
  2. for (var i = 0; i < n; i++) iterator.call(context, i);
  3. };

4、_.escape():转义html代码;_.unescape()与前者相反

  1. _.escape = function(string) {
       //string转为字符串:''+string
  2. return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/');
  3. };

5、_result():返回对象指定属性的值,如果为函数,则返回执行的值

  1. _.result = function(object, property) {
  2. if (object == null) return null;
  3. var value = object[property];
  4. return _.isFunction(value) ? value.call(object) : value;
  5. };

6、_.mixin():用自己的程序扩展underscore, 

  1. _.mixin = function(obj) {
  2. each(_.functions(obj), function(name){
        //将自定义方法添加到underscore对象中,支持对象式调用;同时加入到_中,支持函数式调用
  3. addToWrapper(name, _[name] = obj[name]);
  4. });
  5. };
  1. _.mixin({
  2. capitalize: function(string) {
  3. return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase();
  4. }
  5. });
  6. _("fabio").capitalize();
  7. => "Fabio"

7、_.uniqueId():给对象或DOM创建唯一ID

  1. _.uniqueId = function(prefix) {
  2. var id = idCounter++;
  3. return prefix ? prefix + id : id;
  4. };

8、_.templateSettings():定义模板的界定符号

  1. _.templateSettings = {
  2. evaluate : /<%([\s\S]+?)%>/g,
  3. interpolate : /<%=([\s\S]+?)%>/g,
  4. escape : /<%-([\s\S]+?)%>/g
  5. };

9、_.template():比较麻烦

underscore utility的更多相关文章

  1. Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎

    Singal Page App 开篇扯淡 距离上一篇文章已经有好几个月,也不是没有时间记录点东西,主要是换了新的工作,在一家外资工作,目前的工作内容大多都是前端开发,新接触的东西因为时间原因,大多还不 ...

  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】Object Functions 相关源码拾遗 & 小结

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  6. 你可能不再需要Underscore

    过去几年像 Underscore 和 lodash 等库进入许多JavaScript程序员的工具函数中.虽然这些工具库可以使你的代码写起来更容易,但是他们不一定使代码更简单或更容易理解. 各种工具函数 ...

  7. Underscore.js 初探

    一. 简介   Underscore 这个单词的意思是“下划线”.   Underscore.js 是一个 JavaScript 工具库,提供了一整套的辅助方法供你使用.   Think that - ...

  8. underscore 笔记

    //reduce是汇总 递归 var perDesc=[ {name: "haha", "email": "haha@email.com"} ...

  9. underscore.js 一个强大的js函数库

    Underscore提供的100多个函数,主要涉及对Collection.Object.Array.Function的操作: Collections(集合) each, map, reduce, re ...

随机推荐

  1. C#四舍五入说明

    string.Format("{0:N2}", d) 与 Math.Round(d, 2).ToString() 不总是相等 string.Format("{0:N2}& ...

  2. Servlet Filter 过滤器 对指定页面不拦截

    package niit.dxs.controller; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; i ...

  3. Nexus 使用配置

    Nexus使用的一些基本设置 1.更改中央仓库地址为私服地址 既然我们配置了私服,那么相应的,我们的项目就应该使用Nexus的地址(Public Repository)来下载jar包 1.1.基于PO ...

  4. count++线程安全与 synchronized对性能影响的测试

    一个计时器,同时开启100个线程,每个线程休眠1ms钟后,将全局静态变量count加1,这100个线程创建完之后,休眠500ms,计算总耗时,程序如下: public class Counter { ...

  5. window环境mysql解压版配置

    1.下载并解压 到官网下载mysql-5.5.10-win32.zip,然后将mysql解压到任意路径,如:C:\mysql-5.5.10-win32 2.设置环境变量 打开计算机->属性-&g ...

  6. 为什么JAVA要提供 wait/notify 机制?是为了避免轮询带来的性能损失

    wait/notify  机制是为了避免轮询带来的性能损失. 为了说清道理,我们用“图书馆借书”这个经典例子来作解释. 一本书同时只能借给一个人.现在有一本书,图书馆已经把这本书借了张三. 在简单的s ...

  7. Jiu Yuan Wants to Eat(树链剖分+线段树延迟标记)

    Jiu Yuan Wants to Eat https://nanti.jisuanke.com/t/31714 You ye Jiu yuan is the daughter of the Grea ...

  8. Url,HTTPUrlConnection(一)

    package com.cmy.urlcon; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...

  9. 基于Python Shell获取hostname和fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

  10. C/C++堆、栈及静态数据区详解

    转自:https://www.cnblogs.com/hanyonglu/archive/2011/04/12/2014212.html  做略微修改 C/C++堆.栈及静态数据区详解   本文介绍C ...