如何在javascript

时间:2018-02-24 02:20:33

标签: javascript function break

如果我有这样的话:

var x = 1;
setInterval(function(){
    if (x == "1") {x = "2"};
    if (x == "2") {x = "3"};
    if (x == "3") {x = "1"};
}, 250);

目前,该函数运行第一个if,因为它继承为true,然后由于第一个if改变x以满足第二个if的条件,它也会运行,然后对第三个执行相同的操作,并将x一直设置回1如何让每个if函数突破setInterval {1}}功能,以便在运行后,其他if不会运行?我已经找到了如何用循环而不是函数来做到这一点。我知道上面的函数可能更适合循环,但它只是为了保持问题简短的一个例子。

1 个答案:

答案 0 :(得分:0)

对这个简单的案例使用三元表达式:



var x = 1;
var interval = setInterval(function() {
  x < 3 ? x++ : x=1
  console.log(x)
}, 250);

// clears the interval after 5000 ms
setTimeout(function() {
  clearInterval(interval)
}, 5000);
&#13;
&#13;
&#13;