Pregunta

Estoy implementando el patrón de módulo revelador en JavaScript y teniendo dificultades para acceder a la variable declarada en otro script.Abajo es mi código.

Script1:

var SomeEventHandler = (function (){

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

Script2:

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

En el HTML, he agregado Script 1 antes del script 2, así que quería saber cómo puedo acceder a SomeEventhandler en Script 2.

¿Fue útil?

Solución

Me di cuenta de que tienes un punto y coma en tu notación de objeto.Múltiples claves: las propiedades de valor en los objetos creados con el objeto-notación están separados por comas, no como punto y coma.Además, no necesita el separador si solo hay un elemento.Quizé el punto y coma y funciona bien en mis pruebas.

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

// ...

SomeEventHandler.trackEvent(); // Cool stuff happened!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top