在 javascript 提示符中添加正数和负数

adding numbers in positive and negative numbers in a javascript prompt

我正在尝试在网页上编写一个脚本,向用户呈现算术问题(例如 2 + -4 是什么)并使用提示询问答案。然后使用警告框向他们提供反馈。到目前为止,整数必须在 -10 到 10 之间,我已经试过了,但没有成功:

var num = Math.Floor((Math.random() * -10) + 10);
var numPrompt = prompt("what is " + (num + num));
alert(numPrompt);

然后我尝试了:

var num = Math.Floor((Math.random() * -10) + 10);
var numPrompt = prompt( "what is " + (parseInt(num) + parseInt(num)) );
alert(numPrompt); 

都失败了,为什么?

这与您想要的类似:

var num1 = Math.floor((Math.random() * -21) + 11);
var num2 = Math.floor((Math.random() * -21) + 11);
var userAnswer = prompt('What is ' + num1 + ' + ' + num2 + '?');
if (userAnswer.trim() !== '' && +userAnswer === num1 + num2) {
    alert('Correct');
} else {
    alert('Wrong');
}

由于 num1 和 num2 是由 Javascript 生成的数字,我们可以简单地将数字 +userAnswer 与 num1 + num2 进行比较。

之所以做+userAnswer是因为userAnswer变量包含提示函数返回的答案,它是一个字符串,所以在它前面加上一个+号将它转换为一个数字。

比起 parseInt,我更喜欢 +userAnswer 因为 parseInt('5a') returns 5 where as +'5a' returns 0.

我们唯一需要注意的是 +'' 或 +' ' returns 0,因此我们必须进行额外的检查以确保用户不会在没有输入数字的情况下直接按回车键。