字符串串联不起作用-Javascript

时间:2018-12-14 08:19:02

标签: javascript concatenation

在此程序中,我生成一个随机单词,获取用户的输入,并在单词中存在字母的情况下在警告框中打印用户输入的字母。

这是我生成随机单词的地方。

var words = ['Quaffle', 'Bludger', 'Pensieve', 'Harry', 'Lupin', 
'Butterbeer', 'Polyjuice', 'Patronus', 'Horcrux', 'Voldemort'];

function getRandomWord(){
 randomWord = words[Math.floor(Math.random()* words.length)]; 
 wordlength = randomWord.length;
}

这是我可以猜测用户的功能,并将其与正确的字母一起打印在警报框中。

function getGuess(){
   if(event.keyCode == 13) {
     letterGuessed = document.getElementById("inputfield").value;
     document.getElementById("inputfield").value = null;
     alert(randomWord);
     alert(letterGuessed);
     r = randomWord.includes(letterGuessed);

     if(r == true){
        correctletters='';
        correctletters = correctletters + letterGuessed;
        alert(correctletters);
    }
  }
}

我的问题是猜测的正确字母未在correctletters变量中串联。我在警报框中仅得到一个字符,即letterguessed变量。我什至尝试使用concat,但得到相同的结果。我要去哪里错了?

1 个答案:

答案 0 :(得分:2)

因为,每次您要添加新字母时,您都需要在将新字母串联之前将其重新设置为空字符串。

您应该将以下行移动到初始化逻辑的某个位置,在该位置您首先生成随机字(在getGuess函数之外:

correctletters='';