在javascript提示中添加正数和负数的数字

时间:2016-01-25 23:46:40

标签: javascript numbers prompt

我试图在网页上编写脚本,向用户显示算术问题(EG为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); 

都失败了,但为什么?

1 个答案:

答案 0 :(得分:2)

这类似于你想要的东西:

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变量包含提示函数返回的答案,这是一个字符串,因此在其前面添加一个+符号将其转换为数字。

我喜欢+ userAnswer多于parseInt因为parseInt('5a')返回5,而''5a'返回0。

我们唯一需要注意的是+'或+''返回0,所以我们必须做一个额外的检查,以确保用户不只是输入而不键入数字。