setTimeOut的问题

时间:2014-04-16 13:51:06

标签: javascript 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。

1 个答案:

答案 0 :(得分:0)

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

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

function FB(){
    Y++;
}

我认为问题可能出在您未发布的代码中。看起来你加了Y值两次,所以如果你再次拨打FA,请检查三次。它会导致你现在正在经历的事情(你可能有两次超时)。