if,else如果不工作javascript
我正在编写我自己的JARVIS(有点像,没有比钢铁侠更接近的了) 但是elseif语句不起作用if,else如果不工作javascript,javascript,jquery,Javascript,Jquery,我正在编写我自己的JARVIS(有点像,没有比钢铁侠更接近的了) 但是elseif语句不起作用 function ttalk(code) { varpo = code; if (varpo == "good morning") { var currentdate = new Date(); var hours = currentdate.getHours(); if (hours >= 12) { d
function ttalk(code) {
varpo = code;
if (varpo == "good morning") {
var currentdate = new Date();
var hours = currentdate.getHours();
if (hours >= 12) {
dn=PM;
} else {
dn=AM;
}
varso = "Good Morning, Sir. The time now is " + currentdate.getHours() + " " + currentdate.getMinutes() + dn;
} else if (varpo == "hello") {
varso = "reading your F.B. Notifications.";
} else {
varso = "Not Got That, Sir";
}
speaker.speak("en", varso);
}
当我说早上好的时候,它确实在说现在的时间,但是当我说你好的时候,它说不明白,先生,为什么
带输入字段的完整代码,用于测试
Enter Text To Play:
<input id="text"> (Recognized text for voice will also appear here)
<br><br>
<button class="btn btn-success" onclick="stalk()">Talk It!</button>
<button class="btn btn-success" onclick="listen()">Recognize My Voice</button>
<script>
var speaker = new RobotSpeaker();
var listener = new AudioListener();
function stalk() {
var varpo = document.getElementById("text").value;
if (varpo == "good morning") {
var currentdate = new Date();
var hours = currentdate.getHours();
if (hours >= 12) { dn=PM;} else {dn=AM;}
varso = "Good Morning, Sir. The time now is " + currentdate.getHours() + " " + currentdate.getMinutes() + dn;
}
else if (varpo == "hello") {
varso = "reading your F.B. Notifications.";
}
else {
varso = "Not Got That, Sir";
}
speaker.speak("en", varso);
}
输入要播放的文本:
(语音识别文本也将出现在此处)
说吧!
认得我的声音吗
var扬声器=新的机器人扬声器();
var listener=新的AudioListener();
功能柄(){
var varpo=document.getElementById(“text”).value;
如果(varpo==“早上好”){
var currentdate=新日期();
var hours=currentdate.getHours();
如果(小时数>=12){dn=PM;}否则{dn=AM;}
varso=“早上好,先生。现在的时间是“+currentdate.getHours()+”+currentdate.getMinutes()+dn;
}
else if(varpo==“hello”){
varso=“正在阅读您的F.B.通知。”;
}
否则{
varso=“不明白,先生”;
}
演讲者。说(“恩”,瓦索);
}
请尝试使用javascript提供的内部字符串比较
function ttalk(code) {
varpo = code;
if (varpo.localeCompare("good morning")==0) {
var currentdate = new Date();
var hours = currentdate.getHours();
if (hours >= 12) {
dn=PM;
} else {
dn=AM;
}
varso = "Good Morning, Sir. The time now is " + currentdate.getHours() + " " + currentdate.getMinutes() + dn;
} else if (varpo.localeCompare("hello")==0) {
varso = "reading your F.B. Notifications.";
} else {
varso = "Not Got That, Sir";
}
speaker.speak("en", varso);
}
谢谢
Amit我尝试了你的代码,它工作正常,只是你需要将PM和AM分别更改为“PM”和“AM” 下面是我执行“早上好”时的输出 早上好,先生。现在的时间是下午14点58分 当你通过“早上好”时,它显示如下。由于区分大小写
不明白,先生我很惊讶它居然会说“早上好”,因为你有大写字母…你有没有试着把
varpo
记录到控制台上?上面写着“阅读你的FB通知”。如果我把'hello'
传进来。你一定是路过别的地方。尝试var varpo=code.trim()代码>不,我实际说了,api将其转换为“早上好”。您是否尝试记录变量varpo
以检查值?问题是字符串是由google speak recognition api
生成的。。如果您手动输入字符串,它肯定会工作Yupp@DyrandzFamador这正是我想说的问题。问题既不是关于案例,也不是关于修剪。@IdidntKnewIt,您是否尝试检查变量code
的值以检查实际字符串值?@IdidntKnewIt,我的意思是检查从谷歌语音识别API
生成的文本。。您的文本是由语音识别生成的吗?