gpt4 book ai didi

javascript - 将一个函数传递给另一个函数的参数

转载 作者:行者123 更新时间:2023-11-28 08:27:11 25 4
gpt4 key购买 nike

我试图将一个函数(average)作为参数传递给另一个函数(getAverage)。然后,在体内,我尝试调用传入的函数(平均值)。当我调用它时,它一直告诉我该函数未定义。为什么?

var average = function(scores) {
var total = 0;
var i = 0;
while (i < scores.length) {
total = total + scores[i];
i++;
}
return total / scores.length;
};

gradebook.getAverage = function(name, average) {
if (name === "Joseph") { average(gradebook.Joseph.testScores); }
};

错误:未定义不是一个函数 - 指的是平均值(成绩册....)

谢谢!

最佳答案

这一行:

 gradebook.getAverage = function(name, average) {
if (name === "Joseph") { average(gradebook.Joseph.testScores); }
};

正在声明一个函数,该函数将具有一个名为average的参数。

您没有使用外部作用域中定义的平均函数,而是为隐藏先前声明的内部作用域定义了一个新的平均参数。

只需删除参数名称即可使用外部范围中定义的average:

 gradebook.getAverage = function(name) {
if (name === "Joseph") { average(gradebook.Joseph.testScores); }
};

关于javascript - 将一个函数传递给另一个函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264677/

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