Javascript setInterval清除自己?

ThE*_*yeS 11 javascript

我想知道是否有办法setInterval明确自己.

像这样的东西:

setInterval(function () {
    alert(1);
    clearInterval(this);
}, 2000);
Run Code Online (Sandbox Code Playgroud)

我希望它继续检查,如果它完成它将停止.

use*_*995 23

试试这种方式:

var myInterval = setInterval(function () {
    alert(1);
    clearInterval(myInterval);
}, 2000);
Run Code Online (Sandbox Code Playgroud)

setTimeout()如果您知道它只是一次性呼叫,则使用替代方式.

  • 很棒,但如果间隔是从物体内部设置的呢?`bar = {zaa:function(){this.int = setinterval(function(){clearInterval(this.int)},100)}}; foo = new bar.zaa();` (2认同)

Cor*_*bin 7

(?function() {
    var runs = 3;
    var i = setInterval(function() {
        console.log("Number " + runs);                         
        --runs;
        if (runs == 0) {
             clearInterval(i);
        }    
    }, 1000);
}());?
Run Code Online (Sandbox Code Playgroud)

的jsfiddle