HTML页面数字评级交互功能实现及代码修正问询
修正后的代码及说明
原代码存在逻辑语法错误、区间覆盖不全、提示文字不符合需求等问题,以下是修正后的完整实现:
window.onload = function() { // 弹出中文提示的输入框,转换为数字类型 const score = +prompt('请输入0到100之间的数字'); // 验证输入有效性:必须是0-100范围内的有效数字 if (isNaN(score) || score < 0 || score > 100) { alert('请输入有效的0-100之间的数字!'); return; } // 根据分数区间匹配对应提示 if (score < 50) { alert('unsatisfactory'); } else if (score >= 50 && score <= 70) { alert('satisfactory'); } else if (score >= 71 && score <= 87) { alert('good'); } else if (score >= 88 && score <= 100) { alert('excellent'); } };
关键修正点
- 用
window.onload确保代码在页面加载完成后执行 - 替换非中文提示为中文“请输入0到100之间的数字”
- 修正JS不支持的连续比较写法,改用
&&连接区间条件,覆盖所有端点(如50、70、88、100) - 新增输入验证逻辑,拦截非数字、超出范围的非法输入
- 变量名改为语义化的
score,修正原代码中字符串引号的语法错误
内容的提问来源于stack exchange,提问作者opa
相关产品推荐
相关产品推荐

