2

好吧,我已经厌倦了很多东西。而且我仍然很困惑,我知道答案会很简单,但我还是要问。

我有一个功能:

Module.load = function(a) {
  require("./modules/"+a+".js");
  Module.loaded.push(a);
  Log("Loaded Module: "+a); 
};

并使用Module.load('basic');加载基本文件。现在,我通过一个对象定义模块:

Modules = { basic:1,queue:0,admin:1,notify:0 }

所以我写了这个函数:

for (x in Modules) { if (Modules[x] == 1) Module.load(x); };

但它不起作用,对于我的生活,我无法弄清楚为什么。

4

1 回答 1

4

代码有效:

var Module = {}; Module.load = function(a) {
  console.log("Loaded Module: "+a); 
};

var Modules = { basic:1,queue:0,admin:1,notify:0 }

for (var x in Modules) { if (Modules[x] == 1) Module.load(x); };
Loaded Module: basic
Loaded Module: admin

因此问题一定出在其他地方。确保:

  • 你没有任何语法错误
  • Module.loaded存在并且是一个数组
  • require被定义为一个函数并且不会崩溃
  • Log被定义为一个函数并且不会崩溃
于 2012-12-23T02:32:17.530 回答