首页 > 其他分享 >js-函数记忆

js-函数记忆

时间:2023-04-12 14:00:35浏览次数:29  
标签:缓存 return 函数 cache js 记忆 arguments key const

函数记忆: 指将上次的(计算结果)缓存起来,当下次调用时,如果遇到相同的(参数),就直接返回(缓存中的数据)。

实现原理:将参数和对应的结果保存在对象中,再次调用时,判断对象 key 是否存在,存在返回缓存的值。

function memorize() {
  const cache = {};
  return function() {
    const key = Array.prototype.call(arguments, ',');
    if (key in cache) {
      return cache[key];
    }
    return (cache[key] = fn.apply(this, arguments));
  };
}

 

标签:缓存,return,函数,cache,js,记忆,arguments,key,const
From: https://www.cnblogs.com/huangchengpei/p/17309576.html

相关文章

  • Python json基本使用json.dumps() 和json.loads()
    Python中json的基本使用 json.dumps()和json.loads()JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,现在也常用于http请求中。Python中可用json模块来......
  • Vue.js 路由的props配置
    视频index.js(解构赋值,连续解构赋值)Message.vue7.路由的props配置​ 作用:让路由组件更方便的收到参数{ name:'xiangqing', path:'detail/:id', component:Detail, //第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件 //pr......
  • 【230412-1】已知:f(2x+1)=4x^2-6x+5 求:f(3) 三种方法做一初中函数题
    ......
  • 第十二篇 手写原理代码 - 实现一个前端并发控制请求函数
    实现并发控制请求函数/***并发控制请求函数*@param{Array}urls请求的URL数组*@param{Number}max最大并发数*@param{Function}callback请求成功回调函数*/asyncfunctionconcurrentRequest(urls,max,callback){constlen=urls.length;//用......
  • js加载的六种方式
    1.正常模式 <scriptsrc="index.js"></script> 这种情况下JS会阻塞dom渲染,浏览器必须等待index.js加载和执行完成后才能去做其它事情2.async模式<scriptasyncsrc="index.js"></script>async模式下,它的加载是异步的,JS不会阻塞DOM的渲染,async加载是无......
  • nodejs连接mysql数据库
      https://www.cnblogs.com/hechunfeng/p/17308654.html这个是安装数据库   1.我们先建一个表和插入一下字段,这些都是自己弄的    2.安装npminstallmysqlconst{createPool}=require('mysql');constpool=createPool({host:"localhost",......
  • 网页单位为(rem)时,js控制自适应字体大小
    //js部分:屏幕大小决定根元素字体大小(functionflexible(window,document){functionresetFontSize(){constsize=(document.documentElement.clientWidth/1920)*16;//1920为设计稿宽度if(document.documentElement.clientWidth>1920){doc......
  • 以阿里巴巴推荐的使用 ThreadPoolExecutor 构造函数自定义参数的方式来创建线程池
    importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.ThreadPoolExecutor;importjava.util.concurrent.TimeUnit;publicclassThreadPoolExecutorDemo{privatestaticfinalintCORE_POOL_SIZE=5;privatestaticfinalintMAX......
  • 手写防抖节流函数
    防抖函数functiondebounce(fn,t){  lettimeId  returnfunction(){//如果有定时器就清除  if(timeId)clearTimeout(timeId)//开启定时器200  timeId=setTimeout(function(){   fn()  },t) }}//节流函数throttlefunctionth......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-场景问题智能生成从0到1快速入门——官网推荐
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......