如何保存随机数生成器函数的输出以在其他函数中调用?
例如,在下面的代码中,我将使用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。
答案 0 :(得分:0)
很抱歉,这个问题很难理解。通过执行以下操作,我设法解决了所需的问题:
//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);