найти функцию в модуле

0

У меня есть следующий модуль

module.js

  var Instance = (function () {

    jsfunc('fn');

    var fn = function () {
      console.log('this in fn');
    }

  }());

jsfunc.js

  function jsfunc(fn) {
    // how to find if fn is defined in Instance module
  }

Поскольку я передаю строку, которая является функцией внутри модуля instance. И тогда я хочу проверить, определена ли jsfunc параметра jsfunc внутри Instance. Как я могу это достичь?

Теги:

1 ответ

4

Вам нужно передать ссылку на функцию вместо имени функции, поскольку она находится в области закрытия

var Instance = (function () {

    var fn = function () {
        console.log('this in fn');
    }

    jsfunc(fn);

}());

function jsfunc(fn) {
    // how to find if fn is defined in Instance module
    if (typeof fn == 'function') {
        fn()
    }
}

Демо: скрипка

Также обратите внимание, что значение Instance будет undefined так как нет значения, возвращаемого анонимной функцией.

  • 1
    ты человек или супер быстрая машина ??
  • 1
    Он JScript, JQuery гениальный, машина! :)
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню