javascript 定时器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 定时器相关的知识,希望对你有一定的参考价值。

for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(new Date, i)
  }, 1000);
};

输出结果:

Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 5
(index):32 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 5
(index):32 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 5
(index):32 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 5
(index):32 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 5

采用闭包解决

for (var i = 0; i < 5; i++) {
  (function(k) {
    setTimeout(function() {
      console.log(new Date, k)
    }, 1000)
  })(i);
};

输出结果:

Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 0
(index):40 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 1
(index):40 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 2
(index):40 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 3
(index):40 Mon Apr 24 2017 09:33:47 GMT+0800 (中国标准时间) 4

采用ES6语法解决

for (let i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(new Date, i)
  }, 1000);
};

注:let作用域只在for循环中~

输出结果:

Mon Apr 24 2017 09:38:42 GMT+0800 (中国标准时间) 0
(index):58 Mon Apr 24 2017 09:38:42 GMT+0800 (中国标准时间) 1
(index):58 Mon Apr 24 2017 09:38:42 GMT+0800 (中国标准时间) 2
(index):58 Mon Apr 24 2017 09:38:42 GMT+0800 (中国标准时间) 3
(index):58 Mon Apr 24 2017 09:38:42 GMT+0800 (中国标准时间) 4

 



























以上是关于javascript 定时器的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的定时器是如何工作的

javascript:定时器

JavaScript 定时器

javascript定时器详解

关于JavaScript定时器我的一些小理解

JavaScript定时器