zoukankan      html  css  js  c++  java
  • JavaScript 缓存基本原理

    // 这是个闭包函数,接收一个函数,可以把接收的函数转换成具有缓存能力的函数
    var memoize = function(f) {
      // 使用一个 cache 对象来进行缓存
      var cache = {};
    
      // 返回一个函数,这个函数就是具有缓存功能的 f 函数
      return function() {
        // 缓存的 key 是通过 arguments 生成的
        var arg_str = JSON.stringify(arguments);
        // 当有缓存的时候直接取缓存的,没缓存则只需 f 函数并进行缓存
        cache[arg_str] = cache[arg_str] || f.apply(f, arguments);
        return cache[arg_str];
      };
    };

    主要就是使用了一个 cache 对象来进行数据缓存,通过某种方式(如参数)生成一个独一无二的 key,对应的值就是缓存的值。

    只要再次传入相同的参数,就从 cache 中进行取值,而不再进行计算

  • 相关阅读:
    Samba服务器配置
    Showdoc
    wkhtmltoimage(网页剪切功能)
    GTID数据库备份
    awstats日志分析
    docker桥接
    php的opcache缓存扩展(php页面代码刷新速度)
    Pureftp SSL/TLS配置
    ssh-keygen配置
    systemctl使用
  • 原文地址:https://www.cnblogs.com/3body/p/6497634.html
Copyright © 2011-2022 走看看