我有一个非常复杂的问题:我正在制作像 linux 终端一样工作的应用程序。所以我输入命令和应用程序做一些事情。这是我的一门课:
function _console() {
this.name = "console";
this.command_list = {
"help": function () {
this.app = function () {
write("Sorry, no commands so far ;P");
return this;
};
this.help = "type to get help";
return this;
}
};
this.start = function () {
write("Hi :)");
};
return this;
};
我将这个类保存在数组中:
var mainData = {
openedApps: new Array(new _console()),
};
问题是:第一次使用“帮助”功能很好。但是当我再次输入时出现错误:
TypeError:对象#的属性“帮助”不是函数
这就是我执行我的功能的方式:
mainData.openedApps[0].command_list["help"]().app();
我有另一个类,与我在这里粘贴的非常相似,只是我没有将它保存在变量中。我像这样执行它:
_global_commands().command_list["command"]().app();
这很好用,所以我认为这是将我的课程保持在 var 中的问题。但我真的不知道我做错了什么。