0

我有以下代码。我想从键盘介绍范围,但总和的结果始终为 0,我不明白它出了什么问题。

let first = Number(prompt("Please insert the first number: "));
let last = Number(prompt("Please insert the last number: "));

function addition(first, last) {
    let sum = 0;
    for (let i = first; i <= last; i++) {
        sum += i;
    }
    console.log("Sum is: ", sum);
}

addition();

谢谢!

4

3 回答 3

2

您的函数参数正在隐藏您的局部变量:

for (let i = first; i <= last; i++) {

这里指的是函数参数:

function addition(first, last) {

但你没有传递任何参数:

addition();

您可以完全执行addition(first, last);或删除参数。

于 2021-07-23T10:48:54.927 回答
1

问题是您没有将参数传递给addition,因此请执行以下操作:

let first = Number(prompt("Please insert the first number: "));
let last = Number(prompt("Please insert the last number: "));

function addition(first, last) {
  let sum = 0;
  for (let i = first; i <= last; i++) {
    sum += i;
  }
  console.log("Sum is: ", sum);
}

addition(first, last);
于 2021-07-23T10:48:48.040 回答
0

您在函数调用中缺少参数,需要在调用期间将所述参数(第一个和最后一个)传递给函数,如下所示

addition(first, last);

这应该允许函数按 exoected 工作。

原因是你的函数定义

function addition(first, last) { }

需要将 2 个参数传递给您没有提供的函数。

于 2021-07-23T10:50:27.740 回答