JavaScript setInterval

setInterval

循环阻塞

/*
 for setTimeout
*/

// 我们想每次循环暂停1秒,并且输出当前的循环值。

var i=1

while (true) {
 setTimeout(function() {
  console.log(i)
 }, 1000)

 if (i=5) break
 i++
}

// 返回结果 | 5
// 所以 setTimeout 显示不适用于上面场景,在它阻塞1秒的这段时间,while已经跑了5次循环,累计到了5。


/*
 setInterval
*/

var i=1
var int = setInterval(function f() {
 console.log(i)

 if (i===10) clearInterval(int) // 停止
 i++
}, 1000)

// 返回结果 (1,2,3,4,5,6,7,8,9,10)
// setInterval 就是用于解决上面这种应用场景
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程