javascript - 您如何保存随机生成的数字的值以在不同的函数中调用?
问题描述
如何保存随机数生成器函数的输出以在不同的函数中调用?
例如,在下面的代码中,我将使用function randNum()
来掷骰子并将函数return
的值作为变量。w
saveDiceNumber()
然后我将从函数接收到的第一个值保存到位于randNum()
函数中的新变量中。然后我想对变量和重复该过程,而不会丢失 的新创建值。x
saveDiceNumber()
y
z
x
所以本质上,我想创建一个函数,它使用相同的随机数生成器来创建 3 个不同的变量,然后调用这些变量的值,而无需重新生成/重新滚动随机数。
随机数生成器函数:
function randNum(){
return Math.floor(Math.random()*6);
}
应保存 RNG 输出的函数:
function saveDiceNumber(){
var w = randNum(); //roll the dice for the first permanent value
var x = randNum(); //second output of dice
var y = randNum(); //third output of dice
var z = randNum(); //forth output of dice
pickFruit(x);
}
saveDiceNumber()
将使用的输出:
function pickFruit(letter){
switch(letter){
case(1):
console.log("Apples");
break;
case(2):
console.log("Pears");
break;
case(3):
console.log("Bananas");
break;
case(4):
console.log("Mangos");
break;
case(5):
console.log("Pineapples");
break;
case(6):
console.log("Avacados");
break;
}
打字:saveDiceNumber()
每次都会控制台记录不同的水果,即使功能pickFruit(x)
相同。
我需要变量的值x
永久等于函数=
的一次使用生成的值randNum()
。
因此,如果我掷出 3,则x
需要永久等于 3。
解决方案
抱歉,如果这个问题理解起来非常混乱。我通过执行以下操作设法解决了我需要的问题:
//global variables
var x = randNum1();
var y = randNum2();
var z = randNum3();
function randNum1(){
return Math.floor(Math.random()*6);
}
function randNum2(){
return Math.floor(Math.random()*6);
}
function randNum3(){
return Math.floor(Math.random()*6);
}
pickFruit(x);
pickFruit(y);
pickFruit(z);
推荐阅读
- php - 突出显示 4 个连续匹配的单词
- shell - 尝试在 jmeter 中使用 OS 进程采样器运行 shell 脚本时出错
- sql-server - Web 服务无法访问,但 Tomcat 仍然“已启动”
- single-sign-on - 有没有办法将 Nifi Server 与 AWS Cognito 集成?
- amazon-web-services - AWS:Web 服务器:使用 Docker 还是在 EC2 实例上配置服务器更好
- java - 如何在 GLSurfaceView 上的一行上方添加文本标签
- angular - 使用量角器时 element(by.id('username')) 和 browser.driver.findElement(by.id('username')) 有什么区别
- android - TextView 的文字没有变化
- c# - IValueConverter 计算 TextBlock 的新大小
- javascript - 使用动画时,clearInterval 不会停止触发事件,或者第二个动画不会运行