2013-10-28 2 views
0

Я новичок в HTML5 и JavaScript, так что это может быть глупый вопрос, но когда я пытаюсь выполнить этот код, он добавляет undefined до ответа morse. У меня нет ни малейшего представления, почему, и довольно обширная переработка Интернета не дала никаких результатов. Я думаю, что проблема может заключаться в печати переменной output в HTML, но я понятия не имею, что ее добавляет undefined.«undefined» добавлен в вывод в JavaScript/HTML5

<html> 
<head> 
    <title>Morse Code</title> 
    <script type="text/javascript"> 
     function whole(){ 
      function convert(input){ 
       for (var i=0; i<input.length; i++){ 
        if (input.charAt(i)=="a"||input.charAt(i)=="A"){ 
         output=output+".-/";} 
        else if (input.charAt(i)=="b"||input.charAt(i)=="B"){ 
         output=output+"-.../";} 
        else if (input.charAt(i)=="c"||input.charAt(i)=="C"){ 
         output=output+"-.-./";} 
        else if (input.charAt(i)=="d"||input.charAt(i)=="D"){ 
         output=output+"-../";} 
        else if (input.charAt(i)=="e"||input.charAt(i)=="E"){ 
         output=output+"./";} 
        else if (input.charAt(i)=="f"||input.charAt(i)=="F"){ 
         output=output+"..-./";} 
        else if (input.charAt(i)=="g"||input.charAt(i)=="G"){ 
         output=output+"--./";} 
        else if (input.charAt(i)=="h"||input.charAt(i)=="H"){ 
         output=output+"..../";} 
        else if (input.charAt(i)=="i"||input.charAt(i)=="I"){ 
         output=output+"../";} 
        else if (input.charAt(i)=="j"||input.charAt(i)=="J"){ 
         output=output+".---/";} 
        else if (input.charAt(i)=="k"||input.charAt(i)=="K"){ 
         output=output+"-.-/";} 
        else if (input.charAt(i)=="l"||input.charAt(i)=="L"){ 
         output=output+".-../";} 
        else if (input.charAt(i)=="m"||input.charAt(i)=="M"){ 
         output=output+"--/";} 
        else if (input.charAt(i)=="n"||input.charAt(i)=="N"){ 
         output=output+"-./";} 
        else if (input.charAt(i)=="o"||input.charAt(i)=="O"){ 
         output=output+"---/";} 
        else if (input.charAt(i)=="p"||input.charAt(i)=="P"){ 
         output=output+".--./";} 
        else if (input.charAt(i)=="q"||input.charAt(i)=="Q"){ 
         output=output+"--.-/";} 
        else if (input.charAt(i)=="r"||input.charAt(i)=="R"){ 
         output=output+".-./";} 
        else if (input.charAt(i)=="s"||input.charAt(i)=="S"){ 
         output=output+".../";} 
        else if (input.charAt(i)=="t"||input.charAt(i)=="T"){ 
         output=output+"-/";} 
        else if (input.charAt(i)=="u"||input.charAt(i)=="U"){ 
         output=output+"..-/";} 
        else if (input.charAt(i)=="v"||input.charAt(i)=="V"){ 
         output=output+"...-/";} 
        else if (input.charAt(i)=="w"||input.charAt(i)=="W"){ 
         output=output+".--/";} 
        else if (input.charAt(i)=="x"||input.charAt(i)=="X"){ 
         output=output+"-..-/";} 
        else if (input.charAt(i)=="y"||input.charAt(i)=="Y"){ 
         output=output+"-.--/";} 
        else if (input.charAt(i)=="z"||input.charAt(i)=="Z"){ 
         output=output+"--../";} 
        else if (input.charAt(i)=="1"){ 
         output=output+".----/";} 
        else if (input.charAt(i)=="2"){ 
         output=output+"..---/";} 
        else if (input.charAt(i)=="3"){ 
         output=output+"...--/";} 
        else if (input.charAt(i)=="4"){ 
         output=output+"....-/";} 
        else if (input.charAt(i)=="5"){ 
         output=output+"...../";} 
        else if (input.charAt(i)=="6"){ 
         output=output+"-..../";} 
        else if (input.charAt(i)=="7"){ 
         output=output+"--.../";} 
        else if (input.charAt(i)=="8"){ 
         output=output+"---../";} 
        else if (input.charAt(i)=="9"){ 
         output=output+"----./";} 
        else if (input.charAt(i)=="0"){ 
         output=output+"-----/";} 
        else if (input.charAt(i)==" "){ 
         output=output+"//";} 
        else{output=output;} 
       } 
      document.getElementById('results').innerHTML=output; 
      } 
      var start = prompt ("Enter your sentence:"); 
      convert(start); 
      var output = document.getElementById('results').innerHTML; 
      } 
    </script> 
    <style> 
     body{ 
      text-align:center; 
     } 
     p{ 
      font-size:23px; 
     } 
    </style> 
</head> 
<body> 
    <h1>Clicka de button below to do some morsey codes.</h1> 
    <button onclick="whole()">Try it out!</button> 
    <p id="results">Your sentence will appear here</p> 
</body> 
</html> 

ответ

2

Вы должны инициализировать outputперед тем вызова convert().


Обратите внимание, что

else{output=output;} 

является бессмысленной операцией.

+0

А, крошечные различия в порядке. Просто любите его, когда они имеют значение. Спасибо вам, добрый сэр, и да, я знаю, что это бессмысленно, это был заполнитель. – LemenDrop

Смежные вопросы