【发布时间】:2020-12-07 18:33:33
【问题描述】:
我在下面的代码中遇到的问题是它每次都会产生“1”或“January”,而不是我猜是使用 1-12 之间的随机生成的数字。我最初的想法是问题是某些部分不允许 Math.random 方法正确执行,所以它默认为 1?在我添加“if”语句之前,Math.random 函数可以完美运行。我想我可能叫错了。
注意:我相信我可以创建一个循环或其他东西来返回相应的月份,但我正在努力使代码尽可能基本,因为我仍在学习基础知识。
非常欢迎任何帮助或见解。谢谢!
function randomNum(min, max) {
var result = Math.floor(Math.random() * (max - min + 1) + min);
if (result = 1) {
return "January";
} else if ((result = 2)) {
return "February";
} else if ((result = 3)) {
return "March";
} else if ((result = 4)) {
return "April";
} else if ((result = 5)) {
return "May";
} else if ((result = 6)) {
return "June";
} else if ((result = 7)) {
return "July";
} else if ((result = 8)) {
return "August";
} else if ((result = 9)) {
return "September";
} else if ((result = 10)) {
return "October";
} else if ((result = 11)) {
return "November";
} else if ((result = 12)) {
return "December";
}
return result;
}
console.log(randomNum(1, 12));
【问题讨论】:
-
使用
==或===进行比较,而不是=(赋值)。 -
这能回答你的问题吗? Javascript - convert number to month name
标签: javascript function if-statement math random