创建使用用户输入的数字范围生成的随机数。(JavaScript)
我正在尝试创建一个随机数游戏。我需要的元素之一是一个随机数生成器,它允许用户设置从中选择数字的范围。目前我有这个,它不工作。有什么建议吗 JavaScript创建使用用户输入的数字范围生成的随机数。(JavaScript),javascript,Javascript,我正在尝试创建一个随机数游戏。我需要的元素之一是一个随机数生成器,它允许用户设置从中选择数字的范围。目前我有这个,它不工作。有什么建议吗 JavaScript var min = document.getElementById("minNum").value; var max = document.getElementById("maxNum").value; function setRandomNum() { document.write(Math.floor(Math.random() *
var min = document.getElementById("minNum").value;
var max = document.getElementById("maxNum").value;
function setRandomNum() {
document.write(Math.floor(Math.random() * (max - min));
}
HTML
现在document.write只是为了测试它是否有效 您正在获取文档加载时的输入值,即不是在按下按钮时,并且如注释中所述,
值是一个字符串,因此您必须像这样解析它:
函数setRandomNum(){
var min=parseInt(document.getElementById(“minNum”).value);
var max=parseInt(document.getElementById(“maxNum”).value);
var randomNum=Math.floor(Math.random()*(max-min))
document.write(随机数);
}
对document.getElementById的调用不在函数范围内,因此无法及时执行
function setRandomNum() {
var min = document.getElementById("minNum").value;
var max = document.getElementById("maxNum").value;
document.write(Math.floor(Math.random() * (max - min));
}
我投票支持这个家伙的解决方案。但我建议将getElementId
放在函数外部以提高性能:
var minElement = document.getElementById("minNum");
var maxElement = document.getElementById("maxNum");
function setRandomNum () {
var max, min, random;
max = parseInt(maxElement.value);
min = parseInt(minElement.value);
random = Math.floor(Math.random() * (max - min));
document.write(random);
}
您可能还想提到,值
是一个字符串,而不是一个数字,并且使用基数来确保十进制数…@thisonegy因此,除了上面的代码之外,我是否需要创建一个新的变量,比如这样?var randomNum=parseFloat(setRandomNum);你想干什么?我想我明白了。只需执行var randomNum=Math.floor(Math.random()*(max-min));我将附加到answer@thisOneGuy对不起,我对javaScript有点陌生。但我试图确保一个像大卫·托马斯所说的数字。那么,添加的代码就足够了吗?减法,(max-min)
,将强制将字符串解析为整数。
var minElement = document.getElementById("minNum");
var maxElement = document.getElementById("maxNum");
function setRandomNum () {
var max, min, random;
max = parseInt(maxElement.value);
min = parseInt(minElement.value);
random = Math.floor(Math.random() * (max - min));
document.write(random);
}