Javascript 安阳addCommands

Javascript 安阳addCommands,javascript,arrays,annyang,Javascript,Arrays,Annyang,我想变得更聪明。因此,我决定在用户的帮助下添加命令 对于提醒,annyang命令如下所示: var commands = {"your speech":yourFunction} annyang.addCommands(commands); 通过一个表单,我检索了用户想要说的内容和相关函数 speech = "my speech"; myfunction = "mySuperFunction"; 但当我想添加以下函数时: newCommand={speech:myfunction}; ann

我想变得更聪明。因此,我决定在用户的帮助下添加命令

对于提醒,annyang命令如下所示:

var commands = {"your speech":yourFunction}
annyang.addCommands(commands);
通过一个表单,我检索了用户想要说的内容和相关函数

speech = "my speech";
myfunction = "mySuperFunction";
但当我想添加以下函数时:

newCommand={speech:myfunction};
annyang.addCommands(newCommand);
安阳说:命令成功加载:语音

当我调试newCommand时,我得到:Object{speech:“mySuperFunction”}

看到问题了吗?JS解释函数名,而不是它包含的字符串


你能帮我吗?谢谢

首先需要创建一个空对象,然后可以使用数组语法进行设置

newCommand = {}; //empty object
speech = "my speech";
myfunction = "mySuperFunction";

newCommand[speech] = myfunction;

annyang.addCommands(newCommand);

但是您将
myFunction
定义为字符串<代码>myfunction=“mySuperFunction”。@Pogrindis OP基本上是询问如何将变量的值用作对象键。