Как вызвать функцию, которая вложена в другую функцию?

260
21 февраля 2017, 19:24

Есть такая структура кода на JavaScript:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script> 
  initSky() { 
    function imitate() { 
 
    } 
 
    function tracker() { 
 
    } 
  } 
</script> 
<script> 
  $('#btn').click(function() { 
    for (j; j <= finDay; j++) { 
      imitate(); 
    }; 
  }); 
</script>

как вызвать функцию imitate() не меняя её местоположения?

Answer 1

Разве что сделать функции через глобальные переменные:

<script> 
  function initSky() { 
    imitate = function() { // пробрасываем функции в глобальную область видимости 
 
    } 
 
    tracker = function() { 
 
    } 
  } 
  initSky(); 
</script> 
<script> 
  $('#btn').click(function() { 
    for (j; j <= finDay; j++) { 
      imitate(); 
    }; 
  }); 
</script>

READ ALSO
Оператор &ldquo;или&rdquo; в проверке якоря

Оператор “или” в проверке якоря

Нужно проверять несколько якорей и выполнять действия, как это сделать ?

239
Анимировать по очереди SVG Path

Анимировать по очереди SVG Path

Как анимировать сначала первый тег path, а затем другой?

382
Счётчик кликов для разных блоков через делегирование JS

Счётчик кликов для разных блоков через делегирование JS

Есть код который название блока и считает клики по кнопкеПроблема в том что поле с количеством кликов меняется один раз

699
Запретить вызов stopNativeEvents в dojo/touch.js

Запретить вызов stopNativeEvents в dojo/touch.js

Проблема в том, что код ниже мешает корректно работать кликуПодскажите как мне пропустить вызов win

271