Pergunta

Estou implementando o Revelando Módulo padrão em JavaScript e ter dificuldade em aceder a uma variável declarada em outro script.Abaixo está o meu código.

Script1:

var SomeEventHandler = (function (){

    var logSomeEvent = function(){...}
    return {
        trackEvent: logSomeEvent;
    };
})();

Script2:

SomeEventHandler.trackEvent(); // This gives me undefined error. 

No HTML, eu adicionei o script 1 antes de script 2, então eu queria saber como posso ter acesso SomeEventHandler no script 2.

Foi útil?

Solução

Eu notei que você tem um ponto-e-vírgula no seu objecto de notação.Vários chave:valor de propriedades de objetos criados com o objecto de notação são separados por vírgulas, ponto-e-vírgula não.Além disso, você não precisa do separador se há apenas um elemento.Tirei o ponto-e-vírgula e ele funciona muito bem no meu teste.

var SomeEventHandler = (function (){
    var logSomeEvent = function() { console.log('Cool stuff happened!'); }
    return {
        trackEvent: logSomeEvent
    };
}());

// ...

SomeEventHandler.trackEvent(); // Cool stuff happened!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top