首页 > 解决方案 > 从另一个 javascript 文件中的函数访问局部变量

问题描述

我有 2 个 javascript 文件,main.js 和 array.js。在 main.js 中,我保存了我的主 javascript,但在 array.js 中,我有一个对象 mainObj,由于滞后,我的 main.js 中太大了。在 mainObj 中,一些属性从变量 myVar 中获取随机值,如下所示

 "1": myVar[Object.keys(myVar. 
 [Math.floor(Math.random()*Object.keys(myVar).length)]]

当网站加载时,它会在网站加载时获得 1 次随机值,但我每次按下按钮时都需要它来获得随机值。

我可以让它工作的唯一方法是将 mainObj 设置为在我按下按钮时激活的功能的本地。该函数 giveOutput() 在 main.js 中。但正如我之前所说,在 main.js 中有 mainObj 会导致崩溃。我尝试在array.js 中使mainObj 成为全局对象,然后在array.js 中的函数showObject() 中调用它。

var mainObj;

function showObject() {
      mainObj = {
                  "1":myVar[Object.keys(myVar[Math.floor(Math.random()*Object.keys(myVar).length)]],
                  "2": "Content"
                   //The array goes on like this for a while
                }
}

然后我在 giveOutput() 中调用它。

function giveOutput() {
      var output = mainObj;
}

但我总是得到一个错误“未定义不是一个对象(评估'mainObj')”

我希望能够从 main.js 中的 giveOutput() 访问 mainObj,而不是出现错误。

标签: javascriptvariables

解决方案


推荐阅读