функция JavaScript внутри функции - PullRequest
3 голосов
/ 16 августа 2011

Так что мне было интересно, можно ли получить доступ к переменной (которая имеет значение функции) из-за пределов видимости.У меня есть код, который выглядит примерно так:

function parentFunction(){
  var childFunction = function() {
    // do something
  }
}

$(function(){
  // need to access childFunction() here.
});

Ответы [ 2 ]

6 голосов
/ 16 августа 2011
var childFunction;

function parentFunction(){
  childFunction = function() {
    // do something
  }
}

$(function(){
  childFunction();
});
2 голосов
/ 16 августа 2011

Нет, вы нет. Единственный способ добиться этого - сделать требуемый childFunction атрибутом parentFunction:

var parentFunction = (function(){
  var actualParentFunction = function(){
      this.childFunction = function() {
        // do something
      };
  }

  return new actualParentFunction();
})();

В какой момент вы можете сделать:

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