它检查数字是否较大或较小,以及用户是否已通过输入"q"
退出。但它并没有像"&, *, (, p, ]"
和"while(!guess)"
那样捕获无效输入。
let guess = window.prompt('guess the number!');
const rand = Math.floor(Math.random() * 10) + 1;
let tries = 0;
while (!guess) {
let guess = parseInt(prompt('enter a valid number'));
}
while (parseInt(guess) !== rand) {
tries += 1;
if (guess === 'q') {
console.log('you have exited');
break;
}
if (guess < rand) guess = prompt('enter higher!');
else guess > rand;
guess = prompt('enter lower!');
}
console.log(`correct number is : ${rand} and it took you ${tries} tries`);
您可以在每个条件之间使用else-if。你的最后一个答案是,"按下无效键"。再试一次。">
if (guess === 'q') {...} else
if (parseInt(guess) < rand) {...} else
if (parseInt(guess) > rand {...}
else guess = prompt('Invalid key entered. Please try again.');
您可以使用Regex和String.test比较guess
的值,看看它是否与任何特殊字符匹配。
while (!guess || /[&*()[]p]/g.test(guess)) {
let guess = prompt('enter a valid number');
}