javascript - Javascript 函数

标签 javascript function

我在 YouTube 上的 freeCodeCamp 为初学者提供的 Java Script 类(class)快结束了,我真的很困惑,因为视频中的那个人在变量“half”中存储了一个函数
如下所示:

const stats = {
  max: 56.78,
  standard_deviation: 4.34,
  median: 34.54,
  mode: 23.87,
  min: -0.75,
  average: 35.85
};
const half = (function () {

  return function half({ max, min }) {
    return (max + min) / 2.0;
  };

})();
console.log(stats);
console.log(half(stats));
我的问题是,当我们可以键入时,为什么我们要将其复杂化并将函数存储在变量中,然后在其中返回另一个函数
function half({ max, min }) {
  return (max + min) / 2.0;
};
在这种特殊情况下,他的方法有什么好处吗?

最佳答案

在上面的特定示例中,没有理由,但有时您可能希望在该函数的本地范围内捕获某种状态,并以这种方式创建一个函数可以让您封装一些范围。以这个函数为例:

const someFunction = (function() {
  let someState = 0;
  return function() {
    return someState++;
  }
})();
someFunction(); // returns 0
someFunction(); // returns 1
someFunction(); // returns 2

关于javascript - Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66737608/

相关文章:

c++:在另一个类的函数中返回对象

javascript - 表体来自 Html 但不是来自 Javascript

javascript - 未捕获的类型错误 : Cannot read property 'ownerDocument' of null - ReactJS

javascript - 2 var 数组在我更改 arrayToDataTable 输入后神秘地改变(谷歌图表线)

php - 动态获取/设置多维数组中的值的函数

javascript - 对函数表达式和我将函数表达式分配给的 var 使用相同的标识符是否存在任何问题?

javascript - 为什么 isNaN 总是返回 true

javascript - 如何解决我的 Cloud Functions 项目中的新 ESLint 错误?

函数返回 nil,但应该返回 true 或 false

c - Linux随机函数