您的位置:首页 > 新闻 > 会展 > 整站排名_俄罗斯乌克兰地图_北京网站优化指导_网站很卡如何优化

整站排名_俄罗斯乌克兰地图_北京网站优化指导_网站很卡如何优化

2025/5/11 23:44:56 来源:https://blog.csdn.net/2403_88913721/article/details/147053930  浏览:    关键词:整站排名_俄罗斯乌克兰地图_北京网站优化指导_网站很卡如何优化
整站排名_俄罗斯乌克兰地图_北京网站优化指导_网站很卡如何优化

题目

介绍
在网络世界中,突然间失去了所有的连接。作为勇敢的冒险者,你将踏上一段惊险刺激的旅程,穿越充满谜题和挑战的网络景观,与神秘的网络幽灵对抗,解开断网之谜,找回失去的连接,带领人们重返数字世界。准备好迎接这场奇幻之旅吗?

目标

请在 js/index.js 文件中补充 resetableOnce 函数,实现在接收相同的函数时只执行一次。

函数返回值说明:

  • resetableOnce 函数的返回值为一个对象 ,格式为 :{runOnce:func, reset:func},对应说明如下:
  • runOnce:一个函数,用于执行包装后的函数 fn。当第一次调用 runOnce 时,它将执行 fn函数,并将结果保存,之后的每次调用将直接返回之前计算的结果。注意:如果传入的函数(fn)不是同一个函数,则 resetableOnce函数重新执行。
  • reset :一个函数,用于重置包装后的函数的状态。调用 reset 后可以让下一次调用 runOnce 时,再次执行 fn 函数。

思路

这道题也是跟着题目走,其实我第一遍做这个的时候是懵的,感觉莫名其妙,在做了那个360度旋转之后我突然茅塞顿开.

  • runOnce函数要注意的是它满足只执行一次,保存结果,之后每次调用它都返回第一次的那个结果.
  • reset:重置,使runOnce可以再次被调用

总结:可以设定一个flag作为一个闸门,runOnce被调用了就关闭,只返回第一次的结果.reset被调用了就打开.

代码

function resetableOnce(fn) {// TODO: 待补充代码let flag = 1;let res = null;function runOnce() {// 用于执行包装后的函数 fn// 当第一次调用 runOnce 时,它将执行 fn 函数,并将结果保存// 之后的每次调用将直接返回之前计算的结果。// 如果传入的函数(fn)不是同一个函数,则 resetableOnce 函数重新执行。if(flag){res = fn(...arguments);flag = 0;}return res;}function reset() {// 用于重置包装后的函数的状态。// 调用 reset 后可以让下一次调用 runOnce 时,再次执行 fn 函数。flag = 1;
}  // TODO: ENDreturn { runOnce, reset};
}

这里要注意,因为fn没有具体的参数,就要使用fn(...arguments),它是一个使用扩展运算符(spread operator)的语法,它的作用是将一个数组或者一个可迭代对象展开成多个独立的参数传递给函数fn。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com