创建简单计算器时的IIFE问题

时间:2018-09-12 17:56:39

标签: javascript

我正在学习JS,想练习Function和IIFE,下面是我编写的代码,首先我刚创建了加法函数,然后创建了减法函数。在运行脚本时,它仅显示减法的输出,因此我使用了IIFE。但是我仍然不知道该怎么做才能运行这两个功能。请提出建议。

function showMessage() {
  console.log("A Simple Calculator")
}

showMessage();

(function addition(x, y) {
  return x + y;

})();

addition(10, 11);

(function subtraction(a, b) {
  return a - b;

})();

subtraction(25, 15);

2 个答案:

答案 0 :(得分:-1)

我不确定您要问的是什么,但是如果您要使用IIFE,则需要确保传递完成功能调用所需的必需参数。

部分代码是

(function addition(x, y) {
return x + y;
})();

这部分代码将导致NaN返回,因为从本质上讲,您正在通过不提供任何参数来传递(未定义,未定义)。您需要传递两个参数。减去IIFE也是如此。

同样值得注意的是,由于您使用IIFE创建加法和减法功能,因此不能在全局范围内使用这些功能,因为它们不在范围内。

答案 1 :(得分:-2)

您需要使用console.log打印计算结果。之所以显示减法,是因为它是最后一个值,该值由您在其中运行代码的任何环境评估,并且默认情况下会显示。

代替IIFE使用

console.log(addition(10, 11))
console.log(subtraction(25, 15))

打印加法和减法的输出。