如何保存随机生成的数字的值以便在其他函数中调用?

时间:2018-07-31 11:10:00

标签: javascript variables random save

如何保存随机数生成器函数的输出以在其他函数中调用?

例如,在下面的代码中,我将使用function randNum()掷骰子,并将return的值w传递给saveDiceNumber()作为变量

然后,我将从randNum()函数收到的第一个值保存到位于x函数中的新变量saveDiceNumber()中。然后,我想对变量yz重复此过程,而又不丢失新创建的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。

1 个答案:

答案 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);