下記の箇所について疑問があります。
if (e.key === word[loc]) {
loc++;
if (loc === word.length) {
word = words[Math.floor(Math.random() * words.length)];
loc = 0;
}
updateTarget();
この記述のところで、
if (loc === word.length) {
word = words[Math.floor(Math.random() * words.length)];
loc = 0;
}
と、
updateTarget();
の順序が逆になると、新しいwordに変更されなくなってしまいます。
つまり、
if (e.key === word[loc]) {
loc++;
updateTarget();
if (loc === word.length) {
word = words[Math.floor(Math.random() * words.length)];
loc = 0;
}
こういった状態です。
updateTarget();内で、locの値が変わっているわけではないと思いますし、問題ないのかと思ったのですが・・・。
なぜ、このようなことが起こってしまうのでしょうか?
よろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?