关于this、闭包的面试题

1、下面代码输出

for(var i=0;i<5;i++){

        setTimeout(function(){
    console.log(i)
       },0)
   } 






2、下面代码输出,怎么输出

for(var i=0;i<5;i++){

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








3、下面代码输出,怎么输出

for(var i=0;i<5;i++){

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



4、下面代码输出,怎么输出
for(var i=0;i<5;i++){
  setTimeout((function(i){
console.log(i)
  })(i),1000*i)

}



答案:1、输出5个5

2、输出0 1 2 3 4,    0秒输出0,1秒输出1,2秒输出2,3秒输出3,4秒输出4, 即每个数字输出相隔1秒

3、输出5个5, 每个5相隔1秒输出

4、输出0 1 2 3 4    一下全部输出

猜你喜欢

转载自blog.csdn.net/qq_16796019/article/details/79585832