如何修正JavaScript函数:输入数字后输出后续10个同奇偶数字
修正后的奇偶数列生成函数
原代码存在两个关键问题:
prompt返回的是字符串类型,直接做加法会触发字符串拼接,而非数学运算,导致输出结果完全错误- 没有输入有效性校验,若输入非整数会引发逻辑异常
以下是修正后的代码:
function oddEven() { // 将输入转换为数字类型 const input = Number(prompt("请输入一个整数:")); // 校验输入是否为有效整数 if (isNaN(input) || !Number.isInteger(input)) { console.log("请输入有效的整数!"); return; } // 生成并输出输入数之后的10个同奇偶数字 for (let x = 1; x <= 10; x++) { console.log(input + x * 2); } } oddEven();
修正说明
- 类型转换:用
Number()把prompt获取的字符串转为数字,确保加法是数学运算而非字符串拼接 - 输入校验:通过
isNaN()和Number.isInteger()判断输入是否为有效整数,避免无效输入导致的错误 - 核心逻辑保留:原循环的
x*2逻辑是正确的——不管输入是奇数还是偶数,每次加2的倍数都会保持相同的奇偶性,刚好能生成输入数之后的10个同奇偶数字
内容的提问来源于stack exchange,提问作者user20086268
相关产品推荐
相关产品推荐

