通过For循环访问对象元素

时间:2012-12-23 02:24:11

标签: javascript node.js for-loop

好的,所以我已经厌倦了很多事情。我仍然感到困惑,我知道答案会变得非常简单,但无论如何我都要问。

我有一个功能:

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); };

但它不起作用,对于我的生活,我无法弄清楚原因。

1 个答案:

答案 0 :(得分: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被定义为一个函数并且不会崩溃