Function 只执行一次的函数的分类

Function 只执行一次的函数的分类,function,theory,Function,Theory,对于只执行一次的函数,是否有官方术语或术语?我能想到的最简单的例子是这样一个闭包中的javascript函数。(摘自) 这称为函数。无论您调用它多少次,它都会在首次运行后返回相同的结果。另一方面,有一个非常好的例子(尽管注意对公认答案的评论,以供注意) 这篇文章解释了几个幂等与非幂等的场景。我在下面粘贴了一个片段,以防将来帖子消失 购物车示例: 非幂等:按下“下订单”在数据库中创建新订单 幂等:按下“下订单”将订单4567从“购物车”状态移动到“最终”状态 现实世界的例子 幂等元:给我那个

对于只执行一次的函数,是否有官方术语或术语?我能想到的最简单的例子是这样一个闭包中的javascript函数。(摘自)

这称为函数。无论您调用它多少次,它都会在首次运行后返回相同的结果。另一方面,有一个非常好的例子(尽管注意对公认答案的评论,以供注意)

这篇文章解释了几个幂等与非幂等的场景。我在下面粘贴了一个片段,以防将来帖子消失

购物车示例:

  • 非幂等:按下“下订单”在数据库中创建新订单
  • 幂等:按下“下订单”将订单4567从“购物车”状态移动到“最终”状态
现实世界的例子

  • 幂等元:给我那个比萨饼
  • 不是幂等的:给我做一个比萨饼
密码检查示例

  • 幂等元:根据数据库中的哈希值检查密码
  • 非幂等:检查密码,如果错误,则增加错误的登录尝试
安装软件示例

  • 非幂等:安装MongoDB
  • 幂等:如果尚未安装MongoDB,请安装它
从这些例子和你的问题中可以看出,幂等函数对第二次、第三次、第一万次等等都没有影响。在许多应用程序中,这是一种常见的范例,即使它在设计时没有考虑“幂等元”一词。

我不知道幂等的“超出初始应用程序”部分。非常感谢。
function createChance() {
  var chanceLeft = true;
  return function() {
      if (chanceLeft) {
          console.log("This was the only chance you had.");
          chanceLeft = false;
      } else {
          console.log('Sorry: you already used your chance');
      }
  };
}

var chance = createChance();
chance();
// This was the only chance you had.
chance();
// Sorry: you already used your chance