Javascript 通过Annyang语音识别库输入1个以上参数(*val)的最佳/建议方法是什么?
Annyang命令使用*val向回调函数输入值。如果我想输入多个项目,该怎么办 例如,我想根据用户输入更新表单。这样我就可以有这样的命令Javascript 通过Annyang语音识别库输入1个以上参数(*val)的最佳/建议方法是什么?,javascript,speech-recognition,annyang,Javascript,Speech Recognition,Annyang,Annyang命令使用*val向回调函数输入值。如果我想输入多个项目,该怎么办 例如,我想根据用户输入更新表单。这样我就可以有这样的命令 set Name *val set *val 然后val将包含可以分配给字段的Name值。但是如果我的表单有很多字段,那么为所有字段编写这样的命令可能会很乏味。相反,我本可以 set *FieldName *FieldVal 此命令将返回两个参数,而不是FieldName和FieldVal。如果FieldName是页面上可用字段的有效名称,那么我可以使用
set Name *val
set *val
然后val将包含可以分配给字段的Name值。但是如果我的表单有很多字段,那么为所有字段编写这样的命令可能会很乏味。相反,我本可以
set *FieldName *FieldVal
此命令将返回两个参数,而不是FieldName和FieldVal。如果FieldName是页面上可用字段的有效名称,那么我可以使用FieldVal更新该值,或者忽略该命令
实现这一点的一种方法,当然是解析val,首先从命令获取FieldName,然后从类似
set Name *val
set *val
但我不认为它总是能产生干净的解决方案
有没有一种建议的方法可以实现这一点?您要寻找的不是“splat”操作符(
*
),而是“命名变量”操作符(:
)
您的命令将如下所示
var commands = {
'set :FormId with :Value':setForms,
}
annyang.addCommands(commands);
function setForm(formId, value){
if(isValidForm(formId)){
forms[formId].value = value;
}
}
现在说“用bar设置foo”将把表单[“foo”]的值设置为“bar”。Great!!。工作,我只是做了一个快速检查,也通读了文件,非常无礼地提到了允许的争论,复数是这里的关键词。