我是 HTML5 和 JavaScript 的新手,所以这可能是一个愚蠢的问题,但是当我尝试执行此代码时,它会undefined
在莫尔斯答案之前添加。我一点也不知道为什么,而且相当广泛的互联网搜索没有产生任何结果。我认为问题可能在于将变量打印output
到 HTML,但我不知道是什么使它 add undefined
.
<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>