修复加法
重要性:5
这是一段代码,它向用户询问两个数字并显示它们的总和。
它工作不正常。下面示例中的输出为 12
(对于默认的提示值)。
为什么?修复它。结果应该是 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
之前
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
在最新的代码中同时使用了一元和二元+
运算符。看起来很奇怪,不是吗?