Domanda

Sto implementazione del modello di moduli rivelatori in JavaScript e ha difficoltà a accedere alla variabile dichiarata in un altro script.Di seguito è riportato il mio codice.

Script1:

var SomeEventHandler = (function (){

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

Script2:

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

In HTML, ho aggiunto script 1 prima dello script 2, quindi volevo sapere come posso accedere a SomeeventHandler nello script 2.

È stato utile?

Soluzione

Ho notato che hai un punto e virgola nella notazione dell'oggetto.Chiave multipla: le proprietà del valore negli oggetti create con la notazione dell'oggetto sono separate da virgole, non virgolari.Inoltre, non è necessario il separatore se c'è solo un elemento.Ho rimosso il punto e virgola e funziona bene nel mio test.

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

// ...

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top