zoukankan      html  css  js  c++  java
  • 【JavaScript】闭包应用之数据独立

      在平常的开发中,总有一些方法我们在不同的地方都有用的,因此我们会把这些方法封装起来。当我们需要在开发一个功能的时候需要用到一个组合函数(多个函数之间有联系,即有一个或多个共同的全局变量)且这个组合函数需要在多个地方被调用到。若是简单的将这个组合函数设置成全局函数其共同的变量设置为全局变量的话便会发现一个问题:我在A功能引用了这个组合函数,引用结束后这个组合函数的全局变量global获得了一个数据a,当我们在B功能又触发了这个组合函数,全局变量global被修改成了b,如此而来,当我们便失去了数据a。运用闭包的方法能够很好的解决这个问题,例子如下:

    //代码实现两个各种“独立”的计数器
    function createCounter() {
    	var counter = 0;
    	return function () {
    		counter ++;
    		console.log("Number of events: " + counter);
    	}
    }
    
    var counter1 = createCounter();
    var counter2 = createCounter();
    
    counter1();//Number of events: 1
    counter1();//Number of events: 2
    
    counter2();//Number of events: 1
    
    counter1();//Number of events: 3
  • 相关阅读:
    TP之Model(select(),add())
    TP之空操作及View模块
    ThinkPHP之初识
    smarty引擎之练习
    领先环境HTML
    php流程
    分页
    弹窗
    邮箱项目
    TP框架修改操作
  • 原文地址:https://www.cnblogs.com/daihere1993/p/5156845.html
Copyright © 2011-2022 走看看