mikkhalev
@mikkhalev

Как получить локальную переменную одной функции в другой?

Есть функция
function takeInfo() {
 let x = 0;
 let y = 1;
 let z = 2;
}

Функция запускается после загрузке страницы
window.onload = function() {
 takeInfo();
}

А так же при изменении размера страницы
window.addEventListener('resize', function(event) {
        takeInfo();
    }, true);


Функция takeInfo() получает некоторую информацию со страницы, обрабатывает и как итог я получаю три переменные с какими-то значениями. И эти значения я хочу использовать при нажатии на один из элементов на странице.
document.querySelector('.but').onclick = function() {
        console.log(x, y, z)
    }

Как правильно создавать и использовать переменные в моем случае?
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer

создать переменные до вызова функции, а в самой функции присваивать значения?


Это скорее всего будет работать в вашем случае, но вообще подход в корне не правильный.

Что вам мешает получать те же данные прямо в обработчике клика?

function takeInfo() {
 let x = 0;
 let y = 1;
 let z = 2;
 return { x, y, z }
}

document.querySelector('.but').onclick = function() {
  let {x, y, z} = takeInfo();
  console.log(x, y, z)
}
Ответ написан
HardBot
@HardBot
back-end, front-end developer
Вынеси переменные за функцию и сможешь вызывать или же при помощи return
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы