gpt4 book ai didi

javascript - 在此特定的 JavaScript 代码中返回函数有什么意义?

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

我遵循了有关如何使用 javascript 构建计算器的在线教程。该代码使用 for 循环遍历计算器的所有按钮和 2 个函数来添加数字和计算。这是代码:

for (var i = 0; i < buttons.length; i += 1) {

if (buttons[i].innerHTML === "=") {
buttons[i].addEventListener("click", calculate(i));
}

else {
buttons[i].addEventListener("click", addValue(i));
}
}

function addValue(i) {
return function() {
if (buttons[i].innerHTML === "~" ) {
result.innerHTML += "/";
}
else if (buttons[i].innerHTML === "x") {
result.innerHTML += "*";
}
else {
result.innerHTML += buttons[i].innerHTML;
}
};
}

function calculate(i) {
return function() {
result.innerHTML = eval(result.innerHTML);
};
}

我想问一下为什么是addValue和calculate return函数这2个函数?如果我删除返回,代码将不起作用。为什么?

最佳答案

如果删除 return 语句,则 addValue 返回 undefined

addEventListener 需要两个参数,一个是运行函数的事件的名称,另一个是要运行的函数。

如果 addValue 返回 undefined 那么您将 undefined 传递给 addEventListener 而不是函数。

关于javascript - 在此特定的 JavaScript 代码中返回函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35232504/

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