码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 定时器

时间:2017-04-24 12:30:52      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:mon   cti   闭包   console   var   输出   date   es6   作用域   

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 定时器

标签:mon   cti   闭包   console   var   输出   date   es6   作用域   

原文地址:http://www.cnblogs.com/zhuzeliang/p/6755352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!