在以下情况下,我必须检查(必须输入提示窗口)用户是否输入正确答案:
RUN apk update \
&& apk add --no-cache \
build-base \
ruby-dev
发生的是,即使我按取消,警报也会显示“您错了”。我仅出于示例添加了取消的警报。有什么建议吗?
答案 0 :(得分:1)
您有两个问题。
首先,您正在运行prompt
到parseInt
的返回值。之前,要测试它是否为空字符串或null。
那么您就不会在null和“不是结果”之间进行区分。
parseInt
。null
之前,测试!== result
。userInput === parseInt(result, 10)
(始终使用带有parseInt
的基数)答案 1 :(得分:0)
if (userInput === result){
alert('You are correct!');
} else if (isNaN(userInput)) {
alert('Cancelled!');
} else if (userInput === '' || userInput !== result) {
alert('You are wrong!');
}
答案 2 :(得分:0)
从parseInt
返回的值永远不会严格等于null
。调用input
之前,请先测试parseInt
。
这是一种有效的方法:
const
rand0To9 = () => Math.floor(Math.random() * 9 + 1),
num1 = rand0To9(),
num2 = rand0To9(),
result = num1 * num2,
input = prompt(`What is ${num1} * ${num2}?`);
if (input !== null){
alert(`You are ${ parseInt(input, 10) == result ? "correct" : "wrong" }!`);
}