質問

私はJavaScriptで明示的なモジュールパターンを実装しており、別のスクリプトで宣言された変数にアクセスするのが難しい。以下は私のコードです。

script1:

var SomeEventHandler = (function (){

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

script2:

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

HTMLでは、スクリプト2の前にスクリプト1を追加しましたので、スクリプト2のSomeEventHandlerにアクセスする方法を知りたかったです。

役に立ちましたか?

解決

あなたはあなたのオブジェクト表記にセミコロンを持っていることに気づいた。複数のキー:Object-Notationを使用して作成されたオブジェクトの値プロパティは、セミコロンではなくコンマで区切ります。また、要素が1つしかない場合は、セパレータは必要ありません。私はセミコロンを取り除き、テストでうまく機能します。

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

// ...

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top