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

邓91

我在网上遵循了有关如何使用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);
    };
}

我想问一下为什么要使用2个函数,addValue和计算返回函数?如果我删除退货,该代码将无法正常工作。为什么?

昆汀

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

addEventListener 需要两个参数,用于运行函数的事件的名称,以及要运行的函数。

如果addValue返回,undefined则传递undefinedaddEventListener而不是函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Rust中返回函数的正确语法是什么?

来自分类Dev

从函数返回函数的目的是什么?

来自分类Dev

(int *)在此程序中的意义是什么?

来自分类Dev

(int *)在此程序中的意义是什么?

来自分类Dev

返回函数*(){...}是什么意思?

来自分类Dev

返回函数的代码

来自分类Dev

在javascript中返回函数的函数

来自分类Dev

这些陈述是什么意思|| {}在此javascript代码中

来自分类Dev

在此javascript代码中,传播算子的作用是什么?

来自分类Dev

这些陈述是什么意思|| {}在此javascript代码中

来自分类Dev

此JavaScript代码的意义是什么?

来自分类Dev

此JavaScript代码的意义是什么?

来自分类Dev

理解Javascript中的双返回函数

来自分类Dev

在Javascript中,为什么从构造函数返回函数会破坏对象?

来自分类Dev

在此scala代码中_的含义是什么?

来自分类Dev

在此代码段中这是什么?

来自分类Dev

在代码块中获取值以快速返回函数

来自分类Dev

代码转换Python中返回函数的问题

来自分类Dev

Javascript OOP-返回函数中的函数

来自分类Dev

如何在函数javascript / nodejs中返回函数?

来自分类Dev

通过Function()构造函数返回的意义是什么

来自分类Dev

在Python中,何时/为什么要返回函数?

来自分类Dev

方案中的返回函数

来自分类Dev

在Haskell中返回函数

来自分类Dev

JavaScript的Object构造函数中Object.length属性的意义是什么?

来自分类Dev

如何在javascript中返回函数值

来自分类Dev

Javascript-返回函数中的数组长度

来自分类Dev

返回函数什么都不返回

来自分类Dev

将函数定义为返回函数的IIFE的目的是什么?

Related 相关文章

热门标签

归档