为什么我不能在函数中使用使用 prompt() 创建的变量
Why can't I use a variable created using prompt() within a function?
下面是一个函数,它应该在用户指定的两个数字之间产生一个随机数。如果我手动指定数字,则等式有效。但是如果我使用提示功能,它似乎会产生一个完全随机的数字。
function randOm() {
var high = prompt("high");
var low = prompt("low");
return Math.floor(Math.random() * (high - low + 1)) + low;
}
document.write(randOm());
您需要
使用 parseFloat
将其转换为 Number
。
将
提示的结果转换为数字,因为它返回字符串:
return Math.floor(Math.random() * ((+high) - (+low) + 1)) + (+low);
已知
prompt
返回string
,因此您必须在执行操作之前convert
string to integer
。另一个缺点是,如果用户在提示框中输入任何字符,如"hello"或"hi",你的函数可能会返回NaN
,因为无法将字符解析为数字。
脚本:
function randOm() {
var high = prompt("high");
var low = prompt("low");
var h=parseInt(high);
var l=parseInt(low);
return Math.floor(Math.random() * (h - l + 1)) + l;
}
document.write(randOm());
if (Number.isNaN(high) || Number.isNaN(low)){
alert ("both entries must be numbers!");
}
else{
low = parseFloat(low);
high = parseFloat(high);
return Math.floor(Math.random() * (high - low + 1)) + low;
}
相关文章:
- 根据发送到javascript中函数的参数创建变量名
- 基于循环创建变量
- 创建变量并将其动态命名为javascript
- 使用For each循环-jquery创建变量
- 如何使用html5和javascript创建变量步骤
- 从另一个函数创建变量到 JavaScript 数组
- 有没有办法在javascript或jquery中创建变量选择器
- 从 JavaScript 中的参数创建变量名称
- 如何在 Javascript 中从数组创建变量数组
- jquery创建变量并使用它来加载 - laravel
- 使用 Javascript 创建变量数组(动态,下拉)
- 创建变量后,对定义的变量是坏的/好的/可选的
- HTML5 Web 存储创建变量
- 如何在 for 循环中创建变量
- 在 JQuery/Javascript 中设置和使用动态创建变量的属性
- 在 JavaScript 循环中创建变量
- 从 javascript 中的另一个变量名称创建变量键
- JavaScript 创建变量并使用循环为它们赋值
- 正确的格式结构创建变量
- JavaScript-如何使用递归创建变量嵌套循环