我有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,而不是遇到错误。