通过For循环访问对象元素

Accessing Object Elements via For Loop

本文关键字:对象 元素 访问 循环 For 通过      更新时间:2023-09-26

好的,我已经做了很多事情。我仍然很困惑,我知道答案会是一些荒谬的简单的东西,但无论如何我必须问。

我有一个函数:

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

但是不管用,就我的生命来说,我也不知道为什么。

代码正常运行:

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被定义为一个函数,不会崩溃