Доступ к локальной переменной из функции в другом файле JavaScript - PullRequest
0 голосов
/ 10 января 2019

У меня есть 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. Но, как я уже говорил, наличие mainObj в main.js вызывает сбой. Я попытался сделать mainObj глобальным в array.js, а затем вызвать его в функции showObject (), которая находится в array.js.

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;
}

Но я всегда получаю сообщение об ошибке "undefined не является объектом (оценивает 'mainObj')"

Я хочу иметь доступ к mainObj из метода giveOutput () в main.js, а не получать ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...