Javascript中具有最小值和最大值的随机生成器不工作

Random generator in Javascript with min and max value not working

本文关键字:随机 工作 最大值 最小值 Javascript      更新时间:2023-09-26

我是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:"));