循环/闭包/setTimeout/Promise 综合

  1. 控制台显示内容为?
for (var i = 0; i < 5; i++) {
  console.log(i);
}

 

  1. 控制台显示内容为?
for (var i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i);
  }, 1000 * i);
}

 

  1. 控制台显示内容为?
for (var i = 0; i < 5; i++) {
  (function(i) {
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}

 

  1. 控制台显示内容为?
for (var i = 0; i < 5; i++) {
  (function() {
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}

 

  1. 控制台显示内容为?
for (var i = 0; i < 5; i++) {
  setTimeout((function(i) {
    console.log(i);
  })(i), i * 1000);
}

 

  1. 控制台显示内容为?
setTimeout(function() {
  console.log(1)
}, 0);
new Promise(function executor(resolve) {
  console.log(2);
  for( var i=0 ; i<10000 ; i++ ) {
    i == 9999 && resolve();
  }
  console.log(3);
}).then(function() {
  console.log(4);
});
console.log(5);

 

六道题循序渐进的考察了很多东西.

 

原出处及答案点这里作者:Liril

posted @ 2017-03-29 23:31  付太  阅读(1066)  评论(0编辑  收藏  举报