【问题标题】:revealing module pattern java script cannot access variable揭示模块模式 java 脚本无法访问变量
【发布时间】:2014-07-31 18:45:23
【问题描述】:

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

脚本1:

var SomeEventHandler = (function (){

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

脚本2:

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

在 HTML 中,我在脚本 2 之前添加了脚本 1,所以我想知道如何在脚本 2 中访问 SomeEventHandler。

【问题讨论】:

  • 请包含您的 html。我的猜测是您没有以正确的顺序声明脚本。
  • 我在 Visualforce 工作,所以不确定包含该页面是否有意义。但我已经确定脚本顺序是正确的

标签: javascript module-pattern revealing-module-pattern


【解决方案1】:

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

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

// ...

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

【讨论】:

  • 非常感谢!这解决了问题:)
猜你喜欢
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多