[英]Random generator in Javascript with min and max value not working
我是JavaScript新手。 我正在嘗試制作一個運動程序,該程序生成一個介於最小值和最大值之間的隨機數。 我在以下程序中遇到問題。 var2 + min
無法正常工作。 如果我將變量min替換為實際值,則它可以工作。 我究竟做錯了什么?
var var1=Math.random()
var min = prompt("Enter Min value:")
var max = prompt("Enter max value:")
alert("min is "+min+" max is "+max)
var var2=var1*(max-min)
var var3=var2+min
var var4=Math.floor(var3)
alert("var1= "+var1+" var2= "+var2+" var3= "+var3+" Var4 "+var4)
采用:
var min = parseInt(prompt("Enter Min value:"), 10);
var max = parseInt(prompt("Enter max value:"), 10);
問題在於這些變量包含字符串,因此包含+
的表達式將執行字符串連接,而不是數字加法。
在學習時,請養成以;
結尾的習慣;
。 Javascript對此要求不嚴格,但是您應該對此明確一點-何時可以省略分號的規則有點不可思議。
var1
, var2
, var3
等不是很好的變量名。 不要使用它們。
您的代碼無法正常工作,因為prompt
返回了一個字符串。 1 - "2"
為-1
,但1 + "2"
為"12"
,因為加法運算符用於字符串連接。
將字符串解析為整數:
var min = parseInt(prompt("Enter Min value:"), 10);
prompt
返回一個string
因此您需要將min
和max
轉換為number
:
var min = Number(prompt("Enter Min value:"));
var max = Number(prompt("Enter max value:"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.