js内置函数应用---第一篇(setTimeout)

1.经典面试题(循环输出0到4,每次输出间隔1秒)

// 先用es5的方式实现一下
// bind实现
for(var i=0;i<5;i++) {
    setTimeout((function(i){
        console.log(i)
    }).bind(this, i), 1000*i)
}

// 闭包实现
for(var i=0;i<5;i++){
  (function(j){
    setTimeout(function(){
      console.log(j)
    }, 1000*j)
  })(i)
}

// es6实现,相当的简单。利用let的块作用域,其实相当于形成了一个天然的闭包
for(let i=0;i<5;i++){
    setTimeout(function(){
      console.log(i)
    }, 1000*i)
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。