Javascript 命令式函数执行

Javascript 命令式函数执行,javascript,Javascript,我正在编写一个JS终端,为了执行命令,我使用以下方法: function cmd(command){ var args = command.split(" "); var size = args.filter(function(value) { return value !== undefined }).length; if (args[0] === "command-name") { ...stuff to do return;

我正在编写一个JS终端,为了执行命令,我使用以下方法:

function cmd(command){
    var args = command.split(" ");
    var size = args.filter(function(value) { return value !== undefined }).length;
    if (args[0] === "command-name") {
        ...stuff to do
        return;
    }
    if (args[0] === "another command") {
        ...stuff to do
        return;
    }
}

有没有更有效、更简洁的方法呢?

我相信这是最优雅的方法了。但是,您可以使用一个对象数组,每个对象都有一个字符串
名称
和一些函数
执行
作为成员,实现将根据
参数[0]
选择数组成员。您可以使用一个对象来存储命令名到函数映射,类似于

var commands = {
    "command-name": function doCommandName (args) {
        alert("My arguments: " + args);
    },
    "another-command": function doAnotherCommand (args) {
    }
};

function cmd(command) {
    var args = command.split(" ");
    var cmd = args[0];
    if (commands.hasOwnProperty(cmd)) {
        commands[cmd](args.slice(1));
    }
    else {
        alert("Unknown command " + cmd);
    }
};

使用查找表。请参阅。此问题似乎与主题无关,因为它要求进行代码审阅。请尝试。