未捕获的引用错误:未定义模块 A

Uncaught ReferenceError: ModuleA is not defined

本文关键字:未定义 模块 错误 引用      更新时间:2023-09-26

我正在使用以下使用原型继承的代码。不知何故,当我创建一个新的ModuleA实例时,它返回

未捕获的引用错误:未定义模块 A

下面是我的代码

(function () {
  var ModuleA = function () {
    console.log('ModuleA');
  };
  ModuleA.prototype = (function () {
    var moduleA = function () {
    };
    return {
      moduleA: moduleA
    }
  }());
  return ModuleA;
})();
new ModuleA();

更新

吉斯菲德尔

这是因为您明确地将 ModuleA 声明放在 IIFE 中,这将隐藏里面的所有内容。因此,模块 A 在您的 IIFE 范围内。你确实返回了返回ModuleA但你没有把它放在任何地方。

请改为这样做:

var ModuleA = (function () {
  var ModuleA = function () {
    console.log('ModuleA');
  };
  ModuleA.prototype = (function () {
    var moduleA = function () {
    };
    return {
      moduleA: moduleA
    }
  }());
  return ModuleA;
})();
new ModuleA();