Javascript setInterval清除自己?

时间:2012-03-17 04:03:24

标签: javascript

我想知道是否有办法让setInterval清楚自己。

这样的事情:

setInterval(function () {
    alert(1);
    clearInterval(this);
}, 2000);

我希望它继续检查它是否已经完成它会停止。

2 个答案:

答案 0 :(得分:21)

尝试这种方式:

var myInterval = setInterval(function () {
    alert(1);
    clearInterval(myInterval);
}, 2000);

替代方法是使用setTimeout(),如果您知道它只是一次性调用。

答案 1 :(得分:7)

(​function() {
    var runs = 3;
    var i = setInterval(function() {
        console.log("Number " + runs);                         
        --runs;
        if (runs == 0) {
             clearInterval(i);
        }    
    }, 1000);
}());​

jsfiddle