Javascript 未捕获引用错误:未定义变量?(不涉及jQuery)

Javascript 未捕获引用错误:未定义变量?(不涉及jQuery),javascript,console.log,referenceerror,Javascript,Console.log,Referenceerror,这是我关于stackoverflow的第一个问题 我正在学习javascript,并决定开始一个项目。 我正在做一个记分板来记录乒乓球比赛的比分。我设法做到了这一点,并决定添加一些功能,如比赛历史记录和显示哪些球员必须发球。 然而,我被引用错误所困扰。在大多数其他问题中,人们只是忘记添加变量,或者它与jquery有关。我想这不是我的问题 在乒乓球比赛中,发球的运动员每2分换一次球。我决定添加scorePlayer1和scorePlayer2来生成一个总分。当这除以2时,我可以检查这是否是一个整数

这是我关于stackoverflow的第一个问题

我正在学习javascript,并决定开始一个项目。 我正在做一个记分板来记录乒乓球比赛的比分。我设法做到了这一点,并决定添加一些功能,如比赛历史记录和显示哪些球员必须发球。 然而,我被引用错误所困扰。在大多数其他问题中,人们只是忘记添加变量,或者它与jquery有关。我想这不是我的问题

在乒乓球比赛中,发球的运动员每2分换一次球。我决定添加scorePlayer1和scorePlayer2来生成一个总分。当这除以2时,我可以检查这是否是一个整数,如果是,发球的球员会改变。然而,无论我尝试什么,变量totalScore都没有定义

我首先在w3schools.com学习HTML/CSS,然后用它学习javascript。 我已经将代码粘贴到多个语法检查器中,但没有出现错误

按钮是用来选择发球队员的。然后,我想在得到2分后右转发球给对方球员。我用函数changeServePlayer尝试了这个。但是,当我在Chrome中尝试此操作并在控制台中键入:totalScore时,它返回未捕获的ReferenceError。为什么会发生这种情况,或者有更好的方法来实现目标

以下是我使用的代码:

var currentscoreplayerne=0;
var currentScorePlayerTwo=0;
var currentServePlayer;
var总分;
window.addEventListener(“keyup”,checkKeyPress);
功能检查按键(按键){
如果(key.keyCode==“90”&¤tScorePlayerOne!=0){//Z
document.getElementById('scorePlayerOne')。innerHTML=--currentScorePlayerOne;
changeServePlayer();
changeServeIcon();
}
如果(key.keyCode==“88”){//X
document.getElementById('scorePlayerOne')。innerHTML=++currentScorePlayerOne;
changeServePlayer();
changeServeIcon();
}
如果(key.keyCode==“78”&¤tScorePlayerTwo!=0){//N
document.getElementById('scorePlayerTwo')。innerHTML=--currentScorePlayerTwo;
changeServePlayer();
changeServeIcon();
}
如果(key.keyCode==“77”){//M
document.getElementById('scorePlayerTwo')。innerHTML=++currentScorePlayerTwo;
changeServePlayer();
changeServeIcon();
}
updateSet();
}
函数updateSet(){
如果(currentScorePlayerOne>10&¤tScorePlayerOne>currentScorePlayerTwo+1){
重置分数();
}
如果(CurrentScorePlayerWO>10&&CurrentScorePlayerWO>currentScorePlayerOne+1){
重置分数();
}
}
函数resetScores(){
CurrentScorePlayeron=0;
currentScorePlayerTwo=0;
document.getElementById('scorePlayerOne')。innerHTML=currentScorePlayerOne;
document.getElementById('scorePlayerTwo')。innerHTML=currentScorePlayerTwo;
}
函数changeServePlayer(){
totalScore=currentScorePlayerOne+currentScorePlayerTwo;
数字i积分(总分/2);
如果(Number.isInteger==true&&totalScore!=0&¤tServePlayer==1){
currentServePlayer=2;
}
如果(Number.isInteger==true&&totalScore!=0&¤tServePlayer==2){
currentServePlayer=1;
}
}
函数changeServeIcon(){
如果(currentServePlayer==1){
document.getElementById('serveP1').style.opacity=“1”;
document.getElementById('serveP2').style.opacity=“0.2”;
}否则{
document.getElementById('serveP2').style.opacity=“1”;
document.getElementById('serveP1').style.opacity=“0.2”;
}
}

服侍
var随机数;
函数选择器服务播放器(){
如果(currentScorePlayerOne==0&¤tScorePlayerTwo==0){
document.getElementById('serveP1').style.opacity=“0.2”;
document.getElementById('serveP2').style.opacity=“0.2”;
randomServeNumber=Math.floor(Math.random()*10);
如果(randomServeNumber>5){
currentServePlayer=1;
changeServeIcon();
}否则{
currentServePlayer=2;
changeServeIcon();
}
}
}
函数changeServeIcon(){
if(currentServePlayer==1){
document.getElementById('serveP1').style.opacity=“1”;
document.getElementById('serveP2').style.opacity=“0.2”;
}否则{
document.getElementById('serveP2').style.opacity=“1”;
document.getElementById('serveP1').style.opacity=“0.2”;
}
}
得分P1
得分P2
0
0

我忘了检查html脚本中引用的文件。我引用的是一个旧版本的javascript,这使得我在javascript中所做的每一个更改都毫无用处


有时候真的有那么愚蠢…

open
{
未在
中关闭。如果
代码缺少
checkKeyPress
函数,则应在声明
checkKeyPress
函数中设置键控侦听器的行和声明
changeServePlayer
的行之间包装代码。如果“多语法检查器”中没有任何错误,我假设缺少结尾大括号只是文章中的打字错误?这是一个由打字错误引起的错误,因此应该关闭。是的,我很抱歉。if语句未关闭只是一个复制粘贴错误。由于您已经查看了其他问题,并且能够看到他们忘记定义变量,请再次检查您的代码并询问您回答这个问题:“我在哪里定义了
?”