闭包面试--每隔一秒打印一次

628 阅读1分钟

1. 实现每隔一秒打印5,4,3,2,1,0 (不能用setInterval和ES6语法)

for (var i = 5; i >= 0; i--) {
  (function(i) { //for循环后,注册了5个定时器函数
    setTimeout(function() {
      console.log(i);
    }, i * 1000);
  })(i);
}

涉及知识点: 自调函数---函数自己调用自己

(function (形参) {
    // 函数体
    var lut = '520'; // 局部变量
    return lut + x
})(实参);

2. 实现每隔一秒打印5,4,3,2,1,0 (不能用setInterval)

for (let i = 5; i >= 0; i--) {
    setTimeout(function() {
        console.log(i)
    }, 1000 * i)
}