? 猜数字游戏通过生成1–100随机数,用while循环接收prompt输入、Number()转数字、校验范围与NaN,比较后提示大小,猜中显示次数;支持优化如次数限制、localStorage记录成绩、自定义范围。

用 JavaScript 实现一个简易的猜数字控制台游戏,核心是生成随机数、接收用户输入、比较大小并给出提示,直到猜中为止。下面是一个结构清晰、可直接运行的完整示例(适用于浏览器控制台或 Node.js 环境,以浏览器为例)。
1. 生成 1–100 的随机目标数字
使用 Math.random() 和 Math.floor() 生成整数:
const target = Math.floor(Math.random() * 100) + 1;
这行代码确保每次运行都得到 1 到 100 之间的一个整数(含两端)。
2. 循环接收用户输入并判断
用 prompt() 获取输入(浏览器环境),配合 while 循环持续交互:
- 把用户输入转为数字(parseInt() 或 Number()),避免字符串比较出错
- 检查是否为有效数字(非 NaN、在 1–100 范围内)
- 与目标数比较:相等则结束;小了提示“太小了”,大了提示“太大了”
3. 完整可运行代码(粘贴到浏览器控制台即可)
let target = Math.floor(Math.random() * 100) + 1;
let guess = null;
let count = 0;
console.log("? 猜数字游戏开始!请输入 1–100 之间的整数:");
while (guess !== target) {
let input = prompt("请输入你的猜测:");
guess = Number(input);
if (isNaN(guess) || guess 100) {
console.log("⚠️ 请输入有效的 1–100 之间的整数!");
continue;
}
count++;
if (guess
console.log("? 太小了!再试一次~");
} else if (guess > target) {
console.log("? 太大了!再试一次~");
} else {
console.log(`? 恭喜你!答案就是 ${target}!\n你一共猜了 ${count} 次。`);
}
}
4. 小优化建议(进阶可选)
- 加一个最大尝试次数限制(比如 7 次),失败后显示答案
- 用 localStorage 记录最佳成绩(最少几次猜中)
- Node.js 环境下可用 readline 模块替代 prompt,实现纯命令行体验
- 封装成函数,支持自定义范围(如 1–50 或 1–1000)
这个例子覆盖了变量、循环、条件判断、类型转换和基础 I/O,是理解 JavaScript 流程控制的典型入门项目。不复杂但容易忽略细节,比如输入校验和类型转换,补上这些才真正健壮。
立即学习“Java免费学习笔记(深入)”;



















