代码之家  ›  专栏  ›  技术社区  ›  Haradzieniec

clearInterval以下的代码会在setInterval内执行吗?

  •  -1
  • Haradzieniec  · 技术社区  · 9 年前
    var myvar = setInterval (function(){
        if (true) {
           clearInterval(myvar);
        }
        alert('333');
    },1000);
    

    在我看来 alert('333'); 将在执行上述代码时恰好出现一次(您可以在控制台中测试它)。 我说得对吗?

    排除执行此警报的最正确方法是什么 if ,当内部语句 如果 是真的。

    2 回复  |  直到 9 年前
        1
  •  2
  •   T.J. Crowder    9 年前

    据我所知,警报(“333”);将在执行上述代码时恰好出现一次(您可以在控制台中测试它)。我说得对吗?

    是的,你是对的。对回调的第一次调用将清除间隔,然后代码继续执行 alert 。将不会对回调进行后续调用。

    排除执行此警报的最正确方法是什么,以便在if下面不执行任何内容,当if内部的语句是 true .

    要么使用 else return .

    其他的 :

    var myvar = setInterval (function(){
        if (true) {
           clearInterval(myvar);
        } else {
           alert('333');
        }
    },1000);
    

    回来 :

    var myvar = setInterval (function(){
        if (true) {
           clearInterval(myvar);
           return;
        }
        alert('333');
    },1000);
    
        2
  •  2
  •   Bhojendra Rauniyar    9 年前

    排除执行此警报的最正确方法是什么,以便在以下情况下不执行任何操作

    使用 return .

    var myfunc = setInterval (function(){
        if (true) {
           clearInterval(myfunc);
           return;//now no further code will run
        }
        alert('333');
    },1000);