Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎么能只生产1次随机值_Javascript_Html_Css - Fatal编程技术网

Javascript 我怎么能只生产1次随机值

Javascript 我怎么能只生产1次随机值,javascript,html,css,Javascript,Html,Css,我只想对随机值进行一次乘积,如果我在函数中对其进行乘积,每当我调用函数时,由于随机方法而导致的x变量更改会再次运行并创建新值 然后我创建了一个全局变量,并为它指定了随机方法。在这次随机方法运行1次,全局变量的值保持不变。但我想根据输入定义范围。在这种情况下,我不能在随机方法运行之前接受用户输入 那我该怎么办? 用户应定义随机变量的范围,但x变量应仅取一个时间值 因为我将在另一个方法中使用这个x变量 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.

我只想对随机值进行一次乘积,如果我在函数中对其进行乘积,每当我调用函数时,由于随机方法而导致的x变量更改会再次运行并创建新值

然后我创建了一个全局变量,并为它指定了随机方法。在这次随机方法运行1次,全局变量的值保持不变。但我想根据输入定义范围。在这种情况下,我不能在随机方法运行之前接受用户输入

那我该怎么办? 用户应定义随机变量的范围,但x变量应仅取一个时间值

因为我将在另一个方法中使用这个x变量

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Test</title>
    <link rel="stylesheet" href="jscss.css" />
</head>
<script>var size = document.getElementById("size"); var x = Math.floor(Math.random(size) * (5)) + 1; function afunc() { alert(x); }</script>
<body>
    <input type="number" id="size"><br /> <button onclick="afunc()">Submit</button><br />
</body>
</html>

测验
var size=document.getElementById(“size”);var x=数学楼层(数学随机(大小)*(5))+1;函数afunc(){alert(x);}

提交
varx;
函数changeSize(){
var size=document.getElementById(“size”).value;
x=数学地板(数学随机尺寸)*(5))+1;
日志(“大小:”,大小,“X:”,X);
}
函数afunc(){alert(x);}



提交
使用false或null初始化变量,然后在click handler函数中,如果仍然为false/null,则为其分配一个随机值。是否可以将其写入此处?
var x=null;函数afunc(){if(x==null){x=Math.floor(…);}/*此处函数的其余部分*/;}
感谢您的快速评论。但它仍然不起作用。因为当我们在changesize()函数中输入值时,它不会影响全局变量值,我将警报视为未定义。当我使用下面的代码并单击按钮时,x变量会保留更改,因为我再次调用changesize()函数并将新值赋予x。但我需要1个稳定值。>变量x;>函数changeSize(){>var size=document.getElementById(“size”).value;>x=Math.floor(Math.random(size)*(5))+1;>}>function afunc(){>changeSize();>alert(x);}。是的,您必须单击submit按钮或其他定义
onchange
的按钮。有一个问题,您需要只加载
x
值一次吗?如果是,则您的
尺寸也需要一个tiem。