我在 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。有什么建议么?