回到课程

修正加法

重要程度: 5

这里有一段代码,要求用户输入两个数字并显示它们的总和。

它的运行结果不正确。下面例子中的输出是 12(对于默认的 prompt 的值)。

为什么会这样?修正它。结果应该是 3

let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);

alert(a + b); // 12

原因是 prompt 以字符串的形式返回用户的输入。

所以变量的值分别为 "1""2"

let a = "1"; // prompt("First number?", 1);
let b = "2"; // prompt("Second number?", 2);

alert(a + b); // 12

我们应该做的是,在 + 之前将字符串转换为数字。例如,使用 Number() 或在 prompt 前加 +

例如,就在 prompt 之前加 +

let a = +prompt("First number?", 1);
let b = +prompt("Second number?", 2);

alert(a + b); // 3

或在 alert 中:

let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);

alert(+a + +b); // 3

在最新的代码中,同时使用一元和二元的 +。看起来很有趣,不是吗?