我的代码中的“if else”的替代代码

问题描述:

下面给出的是我的javaScript代码。 现在的状况是,如果我给你打个招呼。应该显示一个hello的图像,或者如果我给Facebook,那么为许多单词显示的图像也必须显示出来。所提到的图像必须被显示。但是,在我的代码中,第一次后图像失败不显示第二个单词。 帮助我的备用码上述问题我的代码中的“if else”的替代代码

 var anu = document.getElementById("display"); 
     var a= document.getElementById("final_span").textContent; 
      console.log(linebreak(interim_transcript)); 
     if(a.search("hello") || a.search("facebook")){ 
     if(linebreak(interim_transcript) == "hello"){ 
      anu.innerHTML="<img src=hello.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "facebook"){ 
      anu.innerHTML="<img src=facebook.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "hi"){ 
      anu.innerHTML="<img src=hi.jpg>"; 
     } 
     else if(linebreak(interim_transcript) == "doll"){ 
      anu.innerHTML="<img src=doll.jpg>"; 
     } 
+0

我们不知道'linebreak'd或者返回。对于我们所知的一切,它可以返回“otherstring”。 – h2ooooooo 2015-03-31 06:12:05

+2

是否是“”“'一个选项? – undefined 2015-03-31 06:13:44

+0

谢谢。但是,如果已经尝试过,但它不起作用。 – Avanthi 2015-04-01 07:00:56

如果linebreak和图像名称返回的值是相同的,你可以使用

anu.innerHTML = '<img src="' + linebreak(interim_transcript) + '">'; 

否则,你可以使用一个对象,其中你可以指定图像名称

var obj = { 
    hello: "hello.jpg", 
    facebook: 'facebook.jpg', 
    hi: 'hi.jpg' 
} 


var anu = document.getElementById("display"); 
var a = document.getElementById("final_span").textContent; 

if (a.search("hello") || a.search("facebook")) { 
    var lb = linebreak(interim_transcript); 
    if (obj[lb]) { 
     anu.innerHTML = '<img src="' + obj[lb] + '">'; 
    } 
} 
+0

您可以通过使用带有值的简单数组来重构这个对象,并且可以从全部中删除'.jpg'并将其放置在'img '直接 – 2015-03-31 06:18:14

+0

你可能想在你的答案的第一部分给@Vohuman。 – 2015-03-31 06:18:24

+0

@ ta-run没有看到......我认为他在我编辑答案时添加了它...... – 2015-03-31 06:20:10