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;