如何将函数生成的变量结果保存在javascript中?

如何将函数生成的变量结果保存在javascript中?,javascript,html,Javascript,Html,假设您有以下Javascript代码: function random() { var number = (Math.floor(Math.random() * 2)); document.getElementById('number').innerHTML = number; return number; }; function searchE(number) { var english = englishID[number]; document.g

假设您有以下Javascript代码:

function random() {
    var number = (Math.floor(Math.random() * 2));
    document.getElementById('number').innerHTML = number;

    return number;
};

function searchE(number) {
    var english = englishID[number];
    document.getElementById('english').innerHTML = english; 
};

function searchJ(number) {
    var root = root[number];
    var masu = masu[number];
    var te = te[number];
    document.getElementById('root').innerHTML = root; 
    document.getElementById('masu').innerHTML = masu;
    document.getElementById('te').innerHTML = te; 
};

function process() {  
    var number = random();
    searchE(number);
    searchJ(number);
};
我的问题是当代码只输出随机数和
search()
结果时。我认为问题在于我要么没有正确地执行
var result=moof()
,要么没有正确地从
moof
返回结果


谁能告诉我怎么做?谢谢您的时间。

问题在于:

function searchJ(number) {
  var root = root[number];
  var masu = masu[number];
  var te = te[number];
var
s被提升,因此对解释器来说,它看起来像:

function searchJ(number) {
  var root;
  var masu;
  var te;
  root = root[number];
  masu = masu[number];
  te = te[number];
因此,当您尝试访问外部作用域中的那些数组/对象时(我假设这些变量存在于外部作用域中,对吗?),您实际上是在引用内部作用域中当前未定义的变量。使用不同于外部作用域中使用的变量名称:

function searchJ(number) {
  var foundRoot = root[number];
  var foundMasu = masu[number];
  var foundTe = te[number];

如果您使用jsfiddle或其他方法来演示如何使用这个
ploof(result)-忽略此处返回的值。和
doof(结果)这里也是。。。spoof、ploof和doof都返回
undefined
在哪里定义了
englishId
呢?englishId是一个数组,你希望我粘贴它,因为它很大吗?删除你的示例,使用你的真实代码,你只是让问题更难回答谢谢你的建议!令我失望的是,我想展示日文字符,而它却展示了这样一个:ŸŸŸãã™,ã“ãŸãˆã‚‹ ãŸã—ã¾ã™,ã“ãŸãˆã¾ã™ ŸŸã-ã,ŸŸˆã,ã“ŸŸˆãã”因此我将不得不再次扫描互联网,这听起来像是一个编码问题,可能不是Javascript问题