JavaScript报错Uncaught ReferenceError: wins未定义,求石头剪刀布游戏修复
解决石头剪刀布游戏中"Uncaught ReferenceError: wins is not defined"错误
错误的核心原因是你在更新分数时,错误地直接引用了wins、ties、losses这些未单独声明的变量——实际上这些属性都属于你定义的score对象,必须通过score对象来访问和修改。
错误代码问题点
你原来的判断逻辑里,尝试用未定义的变量做自增,比如:
if(result==='You win!'){ score.wins=wins++; // 这里的wins是未声明的变量 } else if(result==='Tie.'){ score.ties=ties++; // ties同理未声明 } else if(result==='You lose.'){ score.losses=losses++; // losses同理未声明 }
修正后的代码
直接对score对象的属性进行自增操作即可:
if(result==='You win!'){ score.wins++; } else if(result==='Tie.'){ score.ties++; } else if(result==='You lose.'){ score.losses++; }
说明
修正后,每次游戏结果确定时,都会直接修改score对象对应属性的值,既符合你最初的变量声明逻辑,也能避免未定义变量的报错,后续的alert语句也能正确读取到更新后的分数值。
内容的提问来源于stack exchange,提问作者Albert Lungu
相关产品推荐
相关产品推荐

