Problems with setTimeOut



我有一个问题,再次jajaja。

var X=0
var Y=0

有了这个函数,我想每秒钟把Y加到X上。

function FA(){
    X= X+Y;
    setTimeout(function(){FA()},1000); 
}

有了这个函数,我想把Y加1。

function FB()
{
    Y=Y+1;   
} 

示例:

Y=0
X=0
X=0
X=0
[...]
(execute the function FB) 
Y=1
X=1
X=2
X=3
[...]

我的问题是,我第二次执行FB时,它不是+2到X,而是+4,我只想要+2。

您的代码看起来不错。我会更改一些语法细节以使其更简单:

function FA(){
    X += Y;
    setTimeout("FA()",1000); 
}
function FB(){
    Y++;
}

我认为问题可能出在你没有发布的代码中。看起来你把Y值加了两次,所以如果你再次调用FA,请检查一下。这会导致你现在正在经历的事情(你可能有两次超时)。

最新更新