在此程序中,我生成一个随机单词,获取用户的输入,并在单词中存在字母的情况下在警告框中打印用户输入的字母。
这是我生成随机单词的地方。
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
,但得到相同的结果。我要去哪里错了?
答案 0 :(得分:2)
因为,每次您要添加新字母时,您都需要在将新字母串联之前将其重新设置为空字符串。
您应该将以下行移动到初始化逻辑的某个位置,在该位置您首先生成随机字(在getGuess
函数之外:
correctletters='';