每秒打印一次,没打印值

    var a = 0;
    var b = setInterval(function() {
        a++;
        console.log(a);
    }, 1000)
    clearInterval(b);

clearInterval(b);去掉这个

执行了clearInterval清除掉了定时器,setInterval是异步的

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在这段代码中,setInterval() 函数会以 1 秒的时间间隔不断地调用传入的函数,因此控制台会每秒打印一次 a 的值。然而,由于您在调用 clearInterval() 函数之后立即停止了这个循环,因此您只能看到 a 的初始值 1,而无法看到它在后续的循环中的变化。
·
如果您希望能够看到 a 在 setInterval() 循环中的变化,可以将 clearInterval() 函数的调用放在一段时间之后,例如:

var a = 0;
var b = setInterval(function() {
    a++;
    console.log(a);
}, 1000)
setTimeout(function() {
    clearInterval(b);
}, 5000);


在这个例子中,setInterval() 函数将会循环 5 秒,而 setTimeout() 函数将在 5 秒后调用 clearInterval() 函数,以停止循环。这样,您就可以看到 a 在 setInterval() 循环中的变化了。