Javascript 究竟为什么会赢';我的JS程序不能运行吗?

Javascript 究竟为什么会赢';我的JS程序不能运行吗?,javascript,Javascript,早些时候我发布了一个类似的问题,但它被删除了,因为我觉得我在描述我的问题时做得很糟糕 请在此处查看我当前的计划: 我的小提琴: 我试图模仿这个游戏: 我的版本不会使用图像,而是使用简单的数字。一旦游戏结束,它会提醒用户需要多少次尝试才能匹配所有内容。它也不会记录时间 我认为我的代码在逻辑方面一切正常,但是它没有运行。我是JS新手,调试技能有限,但似乎找不到任何语法错误。有人能帮助这个程序工作吗?我们将不胜感激 var attempts = 0; var firstClick;

早些时候我发布了一个类似的问题,但它被删除了,因为我觉得我在描述我的问题时做得很糟糕

请在此处查看我当前的计划:

我的小提琴:

我试图模仿这个游戏:

我的版本不会使用图像,而是使用简单的数字。一旦游戏结束,它会提醒用户需要多少次尝试才能匹配所有内容。它也不会记录时间

我认为我的代码在逻辑方面一切正常,但是它没有运行。我是JS新手,调试技能有限,但似乎找不到任何语法错误。有人能帮助这个程序工作吗?我们将不胜感激

var attempts = 0;
var firstClick;             
var secondClick;
var numFoundPairs = 0;         
var click = true;

function display(id)
{
  attempts++;
  if (click == false)
  return;
  var num = parseInt(id);
  if (firstClick == null)
  {
  firstClick = num; 
  document.getElementById(id).value = a[num];
  return;
  }
  if (secondClick == null)
  secondClick = num;

 if (firstClick == secondClick)
 {  
 secondClick = null;
 return;
 }

 document.getElementById(boxNum).value = a[num];
 if (document.getElementById(firstClick).value != 
 document.getElementById(secondClick).value )
  {
  click = false;
  setTimeout ('hide(' + secondClick + ')', 3000);
  setTimeout ('hide(' + firstClick  + ')', 3000);
 }
 else
 {
 /* Show the identical blocks */
 firstClick = null;
 secondClick = null;
 }
 /* If the player found the eight pairs (since 16/2 = 8) */
 if (numFoundPairs == 8)
 {
  /* Let them know how many attempts it took them */
   alert ("You took " + Math.floor(String(attempts)/2) + " attempts.");  
  }
}
/* Function to hide the particular id */
function hide (id)
{
document.getElementById(id).value = "     ";
click = true;
}

/* Create the array of number and distribute them randomly on the grid */
function create()
{
a = new Array (1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 
             6, 6, 7, 7, 8, 8);
for (var i = 0; i < a.length; i++)
{
var idx = Math.floor (Math.random() * a.length);
var tmp = a[i];
a[i] = a[idx];
a[idx] = tmp;
}
}
var尝试次数=0;
第一次点击;
第二次点击;
var numFoundPairs=0;
var click=true;
功能显示(id)
{
尝试++;
如果(单击==false)
返回;
var num=parseInt(id);
if(firstClick==null)
{
firstClick=num;
document.getElementById(id).value=a[num];
返回;
}
if(secondClick==null)
secondClick=num;
如果(第一次单击==第二次单击)
{  
secondClick=null;
返回;
}
document.getElementById(boxNum).value=a[num];
if(document.getElementById(firstClick).value!=
document.getElementById(第二次单击).value)
{
单击=false;
setTimeout('hide('+secondClick+'),3000);
setTimeout('hide('+firstClick+'),3000);
}
其他的
{
/*显示相同的块*/
firstClick=null;
secondClick=null;
}
/*如果玩家找到了八对(16/2=8)*/
if(numFoundPairs==8)
{
/*让他们知道他们尝试了多少次*/
警报(“您采取了”+数学地板(字符串(尝试)/2)+“尝试”);
}
}
/*函数隐藏特定id*/
函数隐藏(id)
{
document.getElementById(id).value=“”;
单击=真;
}
/*创建数字数组并在网格上随机分布*/
函数create()
{
a=新数组(1,1,2,2,3,3,4,4,5,5,
6, 6, 7, 7, 8, 8);
对于(变量i=0;i
处的错误发生在memory.js的第28行

未捕获引用错误:未定义boxNum

您应该考虑使用JavaScript控制台(对于Firefox)或Chrome开发工具(使用stock,CTRL+SHIFT+J打开它们)。Firefox也有一个JavaScript错误窗口


它们将帮助您立即发现此类错误。

您所说的“它不运行”是什么意思?控制台里有什么吗?你是如何“运行”它的?你会遇到什么错误/问题?你有没有查看错误控制台中的javascript错误?全部:我继续并将我的文件上传到这个网站。我所说的“它不运行”是指当我点击网格时,会出现一个数字,但我不能做任何其他事情。希望这能让事情变得更清楚:变量
boxNum
从未定义过。