javascript - 从另一个 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,而不是出现错误。
解决方案
推荐阅读
- asp.net-mvc - IIS ASP.net 获取用户在没有登录的情况下访问该站点的 Windows 用户名
- svn - 更改 SVN 存储库(远程)保持工作副本更改
- r - 将数据帧的每个值乘以通过 id 搜索的另一个数据帧的行
- java - 我的recycleview 不起作用。你能帮助我吗?
- javascript - qtip 隐藏特定元素的工具提示
- java - 值始终为空
- c - 运算符“|”的不允许操作数 [MISRA 2012 规则 10.1,必填]
- c# - 使用附加行为单击按钮后,如何在短时间内显示工具提示?
- python - 按当前日期过滤 aws ec2 快照
- amazon-web-services - 带有计数插值的 Terrafom 0.12.6 地图变量