gpt4 book ai didi

javascript - 创建函数数组的实际原因?

转载 作者:行者123 更新时间:2023-11-30 11:28:21 24 4
gpt4 key购买 nike

我正在学习闭包。我了解 javascript 模块模式,但似乎闭包的唯一其他“实际应用”是避免在循环中创建函数并将其推送到数组时出现问题。

我想不出这样做的唯一理由。这是从此处获取的循环中的闭包问题示例:JavaScript closure inside loops – simple practical example

var funcs = [];
for (var i = 0; i < 3; i++) { // let's create 3 functions
funcs[i] = function() { // and store them in funcs
console.log("My value: " + i); // each should log its value.
};
}
for (var j = 0; j < 3; j++) {
funcs[j](); // and now let's run each one to see
}

你什么时候会在真正的软件中这样做?我很茫然。我写了一个factory它工作正常,所以我真的没能在这里看到真实世界的应用程序。

最佳答案

大约一周前,我正在研究绘制简单条形图的东西。这些图表比较了可比较事物的属性的特定值。这些图表可以显示正数和负数,但有时所有可比较的数字都是负数或全部是正数。

原来有8种情况:

  1. 集合中有两个符号,我画的图是负最小值
  2. 集合中有两个符号,我画的图是正最大值
  3. 集合中有两个符号,我画的图是负值,不是最小值
  4. 集合中有两个符号,我画的图是一个正值,不是最大值
  5. 所有值都是负数,我画的图是负最小值
  6. 所有值都是正数,我画的图是正最大值
  7. 所有值都是负数,我画的图是针对负值的,不是最小值
  8. 所有值都是正值,我画的图是针对一个不是最大值的正值

鉴于此,我创建了一个简单的函数来查看一组特定值的质量,并给我一个 0 到 7 之间的数字。然后我创建了一个函数数组,代码只调用结果值中的任何一个函数表明。这允许干净地分离代码,否则会是一团糟。我还可以记录或以其他方式记住该“情况代码”以进行调试;如果一种特定类型的条形图看起来不对,我确切地知道要查看哪个函数。

关于javascript - 创建函数数组的实际原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47146318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com