复刻Wordle游戏时字母输入UI不显示问题求助
Wordle字母输入函数故障修复
我正在复刻Wordle游戏,但负责将按下的字母输出到用户界面的函数无法正常工作,尝试了以下代码但未生效:
let currentCount = ''; function addLetter(letter) { if (currentCount.length < ANSWER_LENGTH) { //adds letter to the end currentCount += letter } else { //replaces last letter currentCount.length = currentCount.substring(0, currentCount.length - 1) + letter } // inputs leeter on the user interface but its not working why? letters[currentCount.length - 1].innerText = letter; }
核心错误分析
代码里的致命问题是错误地给currentCount.length赋值:字符串的length是只读属性,无法通过赋值修改,你需要直接对currentCount变量本身进行赋值操作。
修正后的代码
let currentCount = ''; function addLetter(letter) { if (currentCount.length < ANSWER_LENGTH) { // 在末尾添加字母 currentCount += letter; } else { // 替换最后一个字母 currentCount = currentCount.substring(0, currentCount.length - 1) + letter; } // 将字母更新到用户界面 letters[currentCount.length - 1].innerText = letter; }
说明
- 移除了错误的
currentCount.length =写法,改为直接对currentCount赋值,确保字符串内容能正确更新 - 字符串长度逻辑修复后,后续通过
letters数组定位界面元素并更新文本的代码就能正常工作
内容的提问来源于stack exchange,提问作者Qassim Rufai
相关产品推荐
相关产品推荐

