You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用模板字面量调用Math.max返回NaN?求助解决JavaScript作业问题

解决Math.max返回NaN的问题

你遇到的NaN问题有两个核心原因:

  • prompt()返回的是字符串类型,并非数值,直接参与数值运算会引发类型错误
  • 你用模板字面量把两个值拼成了带逗号的字符串(比如"5, 7")传给Math.max(),但这个函数只接受独立的数值参数,无法解析这类字符串,因此返回NaN

修复后的完整代码:

// 将输入转为十进制整数,避免字符串类型问题
let number = parseInt(prompt("Write an integer between 1-10: "), 10);

const randomnum = Math.floor(Math.random() * 10) + 1;
document.getElementById("random").innerHTML = `The generated integer is ${randomnum}`;

// 直接传入两个数值参数,不要拼接成字符串
let number1 = Math.max(number, randomnum);
document.getElementById("mathmax").innerHTML = `From these two integers, ${number1} is greater`;

额外优化:可以加个输入验证,防止用户输入非1-10的内容:

// 循环验证,直到输入有效
while (isNaN(number) || number < 1 || number > 10) {
  number = parseInt(prompt("Please enter a valid integer between 1-10: "), 10);
}

内容的提问来源于stack exchange,提问作者onni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 00:23:12