DarthJS
@DarthJS

Как передать данные с одной области видимости в другую?

Всем привет! Я новичек, учу Canvas и Javascript, подскажите по такому вопросу, попытаюсь как можно понятней описать.

Есть событие, которое по клику генерирует рандомные числа и с интервалом отрисовует разные картинки:
приблезительно выглядит так:

function loadImg{  
 .....
      img.onload = function() {   // автоматическая загрузка первой картинки при старте
        ........
           boo.onclick = function() {  // функция, которая при клике должна запускать весь процесс
                var num;
           setInterval(function() {      //   тут  я генерирую случайные числа:
                 num = Math.floor(Math.random() * imgs.length);
            // и запускаю с периодом функцю отрисовки канваса,  допустим  draw(num)  и передаю в нее парамет num}, 2000);
            check(num) // тут будет запускаться функция-проверка, которая так же должна получить значение num


И есть еще отдельная функия check() в которую я хочу тоже переать этот параметр num, но не хочу её засовывать в setInterval(function(), так как она будет постоянно запускаться.
Как можно вытащить значение num, за пределы setInterval(function(), чтоб я смог её передать в check() ?
А так же подскажите, что можно почитать для понимания этого дела, области видимости вроде понимаю, а вот так передавать параметры еще нет.
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
DarthJS
@DarthJS Автор вопроса
Решил! Как говорил выше, не хотел зацикливать функцию check(), соответственно, можно было исползовать условие if else и метод clearInterval, тогда интервал при определенных условия останавливается и функция check() может нормально запустится с получением в неё аргумента. Это если кому интересно, весем спасибо :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
kasheibess
@kasheibess
веб уже не тот
https://learn.javascript.ru/javascript-specials#функции . Рекомендую данный учебник к прочтению.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы