我一直在嘗試撰寫一個代碼,提示用戶輸入最小值和最大值,以便從這兩者的間隔中回傳一個隨機值。現在已經幾個小時了,我真的不明白我做錯了什么。也請原諒我,我是學生,所以我還在努力理解這些基本的東西。
我試過運行代碼,但它回傳“NaN”。我認為這里的問題是關于變數或其他東西,所以有人可以嘗試指出嗎?
function userInput(low,high){
return prompt("Enter a minimum value:");
return prompt("Enter a maximum value:");
}
function generateNum(){
return Math.floor(Math.random()*max-min 1) min;
}
function outputNum(q){
document.getElementById("text1").innerHTML = q;
}
outputNum("Randomly generated number: " generateNum());
var min = parseInt(userInput());
var max = parseInt(userInput());
uj5u.com熱心網友回復:
這是一個作業片段。我更正了幾點(缺少括號,函式中的第二次回傳永遠無法到達等等)。
function generateNum(){
[min,max]=[ prompt("Enter a minimum value:"),
prompt("Enter a maximum value:")].sort();
return min Math.floor(Math.random()*(max-min 1));
}
document.getElementById("text1").innerHTML = "Randomly generated number: " generateNum();
<div id="text1"></div>
我進一步簡化并添加了一個.sort()。只要在提示對話框中輸入了實際數字,就會有最小值和最大值。不需要可選的錯誤訊息。
uj5u.com熱心網友回復:
另一種方法
<!DOCTYPE html>
<html>
<title> Random Between Min & Max </title>
<body>
<h2>Random Between Min & Max</h2>
<button onclick="randBetween()">Try it</button>
<p id="random"></p>
<script>
function randBetween() {
let min = parseInt(prompt("Please enter minimum number"));
let max = parseInt(prompt("Please enter maximum number"));
if (min !=null && max != null && min < max) {
let randBetween = Math.floor(Math.random() * (max - min 1)) min;
document.getElementById("random").innerHTML = randBetween;
}else{
alert("Enter min and max value and max value must be greater than min");
}
}
</script>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449975.html
標籤:javascript html 变量 数学 用户输入
上一篇:全域變數不能作為輸入值
