当前位置: 首页 > news >正文

网站建设j介绍pptwordpress国外主题下载地址

网站建设j介绍ppt,wordpress国外主题下载地址,高端定制网站建设高端旅游定制,文昌市规划建设管理局网站具体见#xff1a;https://github.com/febobo/web-interview 7.函数缓存 函数缓存#xff0c;就是将函数运算过的结果进行缓存 本质上就是用空间#xff08;缓存存储#xff09;换时间#xff08;计算过程#xff09; 常用于缓存数据计算结果和缓存对象。 其实现主要… 具体见https://github.com/febobo/web-interview 7.函数缓存 函数缓存就是将函数运算过的结果进行缓存 本质上就是用空间缓存存储换时间计算过程 常用于缓存数据计算结果和缓存对象。 其实现主要通过闭包、柯里化和高阶函数。 下面主要介绍下柯里化 ①柯里化 柯里化currying)是一种函数式编程的概念指的是将一个带有多个参数的函数转换成一系列只接受一个参数的函数的过程。这些接受单一函数的函数可以依次调用每次调用都会返回一个新的函数直到所有参数收集完毕最好返回最终的结果。 具体例子 //柯里化 // 原始的加法函数 function add(x, y) {return x y; }// 柯里化后的加法函数 function curriedAdd(x) {return function(y) {return x y;}; }// 使用柯里化后的函数 const add5 curriedAdd(5); console.log(add5(3)); // 输出: 8const add7 curriedAdd(7); console.log(add7(3)); // 输出: 10在上面的示例中add 是一个接受两个参数的加法函数。通过柯里化我们定义了一个 curriedAdd 函数它接受一个参数 x并返回一个函数这个返回的函数接受参数 y并返回 x y 的结果。通过这种方式我们可以先传递一个参数 x然后再传递另一个参数 y实现了对多参数函数的拆分调用。 通过柯里化我们可以将一个接受多个参数的函数转换为一个接受单个参数的函数链。这种技术有助于简化函数的调用方式提高函数的灵活性和复用性。 ②高阶函数 高阶函数Higher-Order Functions是指接受一个或多个函数作为参数返回一个函数的函数。换句话说高阶函数要么接受一个或多个函数作为参数要么返回一个函数或者同时具备这两个特点。 在js 中函数被视为一等公民因此可以像其他值一样被传递和操作。这种特性使得函数可以作为参数传递给其他函数也可以作为其他函数的返回值。 具体例子 // 高阶函数示例接受一个函数作为参数 function operate(func, x, y) {return func(x, y); }function add(a, b) {return a b; }function multiply(a, b) {return a * b; }console.log(operate(add, 3, 4)); // 输出: 7 console.log(operate(multiply, 3, 4)); // 输出: 12// 高阶函数示例返回一个函数 function createMultiplier(multiplier) {return function(x) {return x * multiplier;}; }const double createMultiplier(2); console.log(double(5)); // 输出: 10 在上面的示例中operate 是一个接受一个函数作为参数的高阶函数它可以根据传入的函数不同来执行不同的操作。另外createMultiplier 是一个返回函数的高阶函数它返回一个乘法函数用于计算传入值的倍数。 ③函数缓存 实现原理也很简单把参数和对应的结果数据存在一个对象中调用时判断参数对应的数据是否存在存在就返回对应的结果数据否则就返回计算结果。 const memoize function (func, content) {let cache Object.create(null)content content || this //函数被定义时的上下文return (...key) {console.log(cache);if (!cache[key]) {cache[key] func.apply(content, key)}return cache[key]}}function add(a,b){return a b; }const calc memoize(add); const num1 calc(100,200); //输出cache可以看到[Object: null prototype] { 100,200: 300} const num2 calc(100,200); //直接从缓存得到结果 const num3 calc(1000,2000); console.log(num2); 过程分析 在当前函数作用域定义了一个空对象用于缓存运行结果运用柯里化返回一个函数返回的函数因为作用域链的原因可以访问到cache然后判断输入参数是不是在cache的中。如果已经存在直接返回cache的内容如果没有存在使用函数func对输入参数求值然后把结果存储在cache中。 ④应用场景 虽然使用缓存效率是非常高的但并不是所有场景都适用因此千万不要极端的将所有函数都添加缓存 以下几种情况下适合使用缓存 对于昂贵的函数调用执行复杂计算的函数对于具有有限且高度重复输入范围的函数对于具有重复输入值的递归函数对于纯函数即每次使用特定输入调用时返回相同输出的函数
http://www.zqtcl.cn/news/606672/

相关文章:

  • 如何设计酒店网站建设好的交互网站
  • 怎么把自己的网站放到百度上九亭做网站
  • 张家界旅游网站建设网页设计作品欣赏分析
  • 订阅号自定义可以做链接网站不做网站dreamwa
  • 电子商务网站规划的原则做网站的集群方案
  • 山东建设银行怎么招聘网站自己做商城网站
  • 建设网站成本预算网站页面设计尺寸
  • 微官网和微网站首页房产网怎么查到房产
  • 高端服装产品网站建设织梦网站识别
  • 做调像什么网站找活注册网站请签署意见是写无
  • 郑州公司网站设计深圳福田有哪些公司
  • 怎么看网站是谁做的asp企业网站开发技术
  • 传奇手游网站大全9377编辑器wordpress
  • 网站集约化建设意见和建议苏州建设交通招聘信息网站
  • 网站建设优化的技巧衣服定制的app有哪些
  • 营销型网站建设报价vue本地访问服务器跨域
  • 支持api网站开发大疆网站建设
  • 国家排污许可网站台账怎么做进销存永久免费
  • 做游戏脚本的网站精品国内网站建设
  • 好的网站建站公司门户网站栏目维护建设方案
  • 如何在电脑上建立网站企业百度网站怎么做的
  • 34线城市做网站推广网站页面如何设计图
  • 成都网站建设前十广州开发网站设计
  • qq人脸解冻自助网站加工平台推荐
  • 中国室内设计联盟网官网网站专题页优化
  • 设计模板图热狗网站关键词优化
  • 无锡网站开发公司重庆网站有哪些
  • 做网站找什么公司工作网站开发思维导图内容
  • 有人知道做网站吗?wordpress多站点cdn
  • 网站风格特点大型外包公司有哪些