Javascript 显示模块模式java脚本无法访问变量

Javascript 显示模块模式java脚本无法访问变量,javascript,module-pattern,revealing-module-pattern,Javascript,Module Pattern,Revealing Module Pattern,我正在用JavaScript实现显示模块模式,在访问另一个脚本中声明的变量时遇到困难。下面是我的代码 脚本1: var SomeEventHandler = (function (){ var logSomeEvent = function(){...} return { trackEvent: logSomeEvent; }; })(); 脚本2: SomeEventHandler.trackEvent(); // This gives me und

我正在用JavaScript实现显示模块模式,在访问另一个脚本中声明的变量时遇到困难。下面是我的代码

脚本1:

var SomeEventHandler = (function (){

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

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

在HTML中,我在脚本2之前添加了脚本1,因此我想知道如何访问脚本2中的某个EventHandler。

我注意到对象符号中有一个分号。多键:使用对象表示法创建的对象中的值属性由逗号分隔,而不是分号。此外,如果只有一个元素,则不需要分隔符。我删除了分号,它在我的测试中运行良好

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

// ...

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

我注意到你的对象符号中有一个分号。多键:使用对象表示法创建的对象中的值属性由逗号分隔,而不是分号。此外,如果只有一个元素,则不需要分隔符。我删除了分号,它在我的测试中运行良好

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

// ...

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

请包括你的html。我的猜测是您没有按照正确的顺序声明脚本。我在Visualforce中工作,因此不确定包含该页面是否有意义。但我已经确保脚本顺序正确,请包括您的html。我的猜测是您没有按照正确的顺序声明脚本。我在Visualforce中工作,因此不确定包含该页面是否有意义。但是我已经确定了剧本的顺序,非常感谢!这解决了问题:)非常感谢!这解决了问题:)