我在Code.org AppLab上有一个硬币翻转模拟器。 (请注意,它使用JavaScript。)有一个文本输入框,用户可以在其中输入所需的翻转次数,然后单击其下方的按钮。我希望此代码检查输入是否不是数字,所以我使用了isNaN ...
onEvent("button2","click",function(){
if (getNumber("text_input1") == isNaN) {
setText("text_area1","Please enter an integer.");
} else {
while ((flipCt < Math.abs(getNumber("text_input1")))) {
flipVal = randomNumber(0, 1);
flipCt++;
if (flipVal == 1) {
headcount++;
headstreak++;
if (headstreak > hscount) {
hscount = headstreak;
}
tailstreak = 0;
} else {
tailcount++;
tailstreak++;
if (tailstreak > tscount) {
tscount = tailstreak;
}
headstreak = 0;
}
}
setText("VERY LONG LINE OF CODE, so I deleted it for this post."));
}
});
所以...第2行是我的问题。我似乎无法正确检查NaN-如果我输入非数字值,它总是跳到“ else”部分并使它为0。有什么建议吗?
isNan的语法错误。您需要使用isNaN(getNumber(“ text_input1”))。如果它的Nan返回true,否则返回false