Javascript 向我的计算器显示中添加数字时出现问题

Javascript 向我的计算器显示中添加数字时出现问题,javascript,Javascript,//每次我在显示窗口中键入一个数字时,它都会替换上一个数字,而不是像实际的计算器那样连接到它。还试图找出为什么我不能让我的函数符号出现在我的显示窗口中…我怀疑这与我的设置超时有关 function one(event) { clearTimeout(timer); timer=setTimeout("AddDigit(object)",500); object=event; } 它不是连接,甚至不是添加。你不能那样通过。原因是当您发出带有字符串的回调时,它只会调用函数。如果您想要传递参数,那么

//每次我在显示窗口中键入一个数字时,它都会替换上一个数字,而不是像实际的计算器那样连接到它。还试图找出为什么我不能让我的函数符号出现在我的显示窗口中…我怀疑这与我的设置超时有关

function one(event)
{
clearTimeout(timer);
timer=setTimeout("AddDigit(object)",500);
object=event;
}

它不是连接,甚至不是添加。你不能那样通过。原因是当您发出带有字符串的回调时,它只会调用函数。如果您想要传递参数,那么您需要创建一个闭包并在其中传递它们

试试这个:

  function AddDigit(x)
  {
  object=x;
  if (eval(digit) == 0)
   {digit = object;}
   else
   {digit = digit + object;}

 document.calculator.display.value=object;

 } 
你想通过的很可能是这次活动:

timer=setTimeout(function(){ AddDigit(object); },500);

此外,在AddDigit中,您可能希望改为:

object = event;
timer=setTimeout(function(){ AddDigit(object); },500);
你在做什么

document.calculator.display.value += object;

但是连接的版本是“digit”变量。

为什么要使用计时器而不是直接调用AddDigit?
object = event;
timer=setTimeout(function(){ AddDigit(object); },500);
document.calculator.display.value += object;
document.calculator.display.value=object;