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

      最近的开发中的许多事件会被频繁的触发,由于没有做缓存的处理,每次事件触发都会后台调用一样的数据。这几天我突然意识到自己的代码有很大的优化空间,继而想起了闭包可以有缓存的功能,于是乎便对其进行了深入的研究以方便对之前写的代码进行优化。在完成优化后,写以下例子作作为总结:

    var a = (function b () {
    	var _cache = {};
    	return {
    		doSometing: function (name) {
    			if (name in cache) {
    				var data = _cache[name];//获取缓存数据
    				doSometingByData(data);
    			}else {
    				_cache[name] = doSometingToGetData(name);
    			}
    		},
    		
    	};
    })();
    
    function doSometingToGetData () {
    	//可以在这里向后台取数据,也可以是其他操作,目的就是获取你需要缓存的数据并返回
    	return data;
    }
    var a = (function b () { 
    	var _cache = {};
    	return {
    		setCache: function (name) {
    			_cache[name] = doSometingToGetData(name);
    		},
    		getCache: function (name) {
    			return _cache[name];
    		}
    	}
    });
    
    var c = function () {
    	a.setCache('daihere');
    	var data = a.getCache('daihere');
    }
  • 相关阅读:
    vue父子组件通信
    canvas(一)
    js中的this
    git中遇到的问题
    javaScript中各种数据结构的遍历
    git合并多个提交
    vue学习笔记(三)——vuex—store配置
    vue学习笔记(二)——路由配置
    0欧电阻的作用
    STM32L系列单片机内部EEPROM的读写
  • 原文地址:https://www.cnblogs.com/daihere1993/p/5148531.html
Copyright © 2011-2022 走看看