首页 > 解决方案 > 将函数的返回值存储在javascript中的变量中

问题描述

我遇到的问题是我有这个创建随机数字的函数:


    //user_length() has a value of a favored length of number entered by user
    //random_digit() returns digit randomly from 1-9



    function random_number(){
          let sequence = [];
          for(i = 0; i < user_length() ; i++ ){
             sequence.push(random_digit());
          }

          return sequence.toString().replace(/,/g,"")
        }

但我必须在不同的地方两次调用这个函数:

//to chack wether what user has written matches the displayed nuber or not
function check(){
    
    let inputVal = document.getElementById("user_input").value;
    let original_val = num_length();
    for (i = 0 ; i < user_length() ; i++){
      return inputVal[i] === original_val[i] ? console.log(num_length()) : console.log(inputVal + " is wrong,right answer is " + num_length())
    }

   
  }

//to display number on screen for user to "remember"
function number_onScreen(){
    create_p();
    let random_num= document.getElementById("random_number");
    random_num.innerHTML = num_length();
    random_num.style.margin = "0px";
    random_num.style.padding = "0px";
    
  }

发生的情况是屏幕上显示的数字与 Check() 函数与用户试图记住的数字不同。例如,显示的数字是:23749

如果他们没记错,用户也会写 23749,但是 check() 函数的值与显示的数字不同,用户永远猜不到。我知道我的问题是我两次调用 random_number() 函数,这就是它们具有不同值的原因,我试图将输出存储在变量中但不知道如何存储,所以我总是得到“未定义”为输出,我需要改变什么?

标签: javascript

解决方案


推荐阅读