`
zhangyaochun
  • 浏览: 2621956 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

underscore的Function之once

阅读更多

 

   once

 

   _.once(function)

 

  •  创建一个只能被调用一次的函数。重复的调用改进的方法也没有效果,还是返回第一次执行的结果
  •  有助于初始化类型的方法,代替设置boolean的标志位,然后对它进行检测

 

   源码

 

_.once = function(func){

     //创建一个初始的标志位ran,默认是false
     var ran = false,

     //memo是一个返回值
           memo;

      return function(){
 
          //判断标志位,如果不是第一次,直接return memo
           if(ran){
               return memo;
           }

           //第一次置一下标志位
           ran = true;

           //第一次执行的时候置一下
           memo = func.apply(this,arguments);
 
           //对func置null
           func = null;

           //把memo返回
           return memo;

      };

}

 

分享到:
评论

相关推荐

    Underscore.php——Underscore.js的php移植版

    Underscore.js是目前最好用的Javascript工具包,提供了100多个函数。Underscore.php是Underscore.js的PHP移植版,并且实现了部分Underscore.js中的功能! 我花了一个月的时间将Underscore.php的文档翻译为中文,开源...

    underscore1.5.2中文帮助

    - 与jQuery不同的是,Underscore不扩展任何JavaScript内置对象,比如Array或Function。 - Underscore被认为是Backbone.js框架的一个必要组成部分,同时也弥补了jQuery未实现的功能。 2. **Underscore的主要功能**...

    underscore-1.6.0.zip

    《深入理解JavaScript库:underscore-1.6.0》 underscore.js是一款轻量级的JavaScript实用库,它为JavaScript开发提供了大量的实用函数,极大地增强了原生JavaScript对象的处理能力。在"underscore-1.6.0.zip"这个...

    Learning Underscore.js

    Explore the Underscore.js library by example using a test-driven development approach About This Book Understand and learn to apply functional programming principles using the built-in functions of ...

    underscore应用

    《深入理解underscore应用》 underscore.js,简称下划线或_,是一款轻量级的JavaScript实用库,它提供了一系列高效、实用的函数,用于处理数组、对象、字符串等各种数据类型,帮助开发者更方便地进行数据操作和函数...

    underscore源码学习计划

    6. _.isObject()、_.isArray()、_.isFunction():用于检测数据类型,帮助我们进行类型检查。 三、对象和数组操作 Underscore.js提供了丰富的对象和数组操作方法,如_.extend()用于合并对象,_.indexOf()和_....

    underscore.js帮助文档

    - `_.once(func)`:确保函数只执行一次。 - `_.debounce(func, [wait=0], [immediate=false])`:防抖函数,连续快速调用时,只有最后一次调用会在延迟后执行。 - `_.throttle(func, [wait=0], [options={}])`:...

    underscore之function_动力节点Java学院整理

    本篇文章将深入探讨Underscore中的`function`相关功能,包括`bind`、`partial`和`memoize`。 首先,我们来看`bind`方法。`bind`的主要作用是改变函数的`this`上下文,允许我们将一个函数与特定的对象绑定,确保在...

    underscore-min.js 1.8.3

    underscore-min.js

    underscore.js 1.8.2

    underscore.js underscore.js underscore.js

    underscore-1.4.3.zip

    《深入理解Underscore.js 1.4.3:核心概念与实践》 Underscore.js,一个轻量级的JavaScript实用库,以其强大的工具集和对JavaScript原生功能的补充,深受开发者喜爱。在本篇文章中,我们将深入探讨Underscore 1.4.3...

    Underscore1.8.3 参考手册.CHM

    Underscore1.8.3 参考手册.CHM,Underscore中文教程,Underscore离线手册

    backbone.js underscore.js

    在实际项目中,Backbone.js依赖于Underscore.js,因为Backbone的一些功能如事件系统和模板引擎就构建在Underscore.js之上。同时,jQuery-1.10.2.js作为基础库,提供了DOM操作和Ajax请求的支持,使得开发者可以方便地...

    underscore

    underscore js工具类,underscore为集合类对象提供了一致的接口

    underscore解析

    underscore源码解析

    underscoreAPI文档(英文版pdf)

    ### Underscore.js API 文档概述 #### 一、引言 Underscore.js 是一个功能强大的 JavaScript 工具库,它提供了大量的函数式编程支持,这些支持在 Prototype.js 或 Ruby 中是常见的,但并未扩展任何内置的 ...

    前端项目-underscore-contrib.zip

    在前端开发领域,JavaScript库的使用是提升开发效率的重要手段之一。本篇文章将围绕“前端项目-underscore-contrib.zip”进行详细解析,帮助开发者深入理解其背后的原理和应用场景,以及如何在实际项目中有效地运用...

    underscore.js api文档 chm

    underscore.js api文档 chm

Global site tag (gtag.js) - Google Analytics