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 に答える