簡體   English   中英

最小值和最大值的Javascript中的隨機生成器不起作用

[英]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對此要求不嚴格,但是您應該對此明確一點-何時可以省略分號的規則有點不可思議。

var1var2var3等不是很好的變量名。 不要使用它們。

您的代碼無法正常工作,因為prompt返回了一個字符串。 1 - "2"-1 ,但1 + "2""12" ,因為加法運算符用於字符串連接。

將字符串解析為整數:

var min = parseInt(prompt("Enter Min value:"), 10);

prompt返回一個string因此您需要將minmax轉換為number

var min = Number(prompt("Enter Min value:"));
var max = Number(prompt("Enter max value:"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM