Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';让';带setTimeout()的for循环中 let timer=()=>{ for(设i=0;i{ 控制台日志(i) },i*1000) } } 定时器();_Javascript - Fatal编程技术网

Javascript ';让';带setTimeout()的for循环中 let timer=()=>{ for(设i=0;i{ 控制台日志(i) },i*1000) } } 定时器();

Javascript ';让';带setTimeout()的for循环中 let timer=()=>{ for(设i=0;i{ 控制台日志(i) },i*1000) } } 定时器();,javascript,Javascript,上述代码将以1000毫秒的间隔打印0、1、2、3、4 如果我将let I=0更改为var I=0,timer()将在1000毫秒的间隔内弹出五次“5”。到目前为止还不错,我知道let和var 但是现在我想以1000ms的间隔打印0、1、2、3、4,并且不使用let关键字,那么我该怎么办呢?我想我可能需要使用闭包,但我不知道如何使用。 编辑:不使用let,我的意思是使用var而不是如果您不能使用let,您可以始终使用: let timer=()=>{ 对于(变量i=0;i{ 设置超时(()=>{

上述代码将以1000毫秒的间隔打印0、1、2、3、4
如果我将
let I=0
更改为
var I=0
timer()
将在1000毫秒的间隔内弹出五次“5”。到目前为止还不错,我知道
let
var

但是现在我想以1000ms的间隔打印0、1、2、3、4,并且不使用
let
关键字,那么我该怎么办呢?
我想我可能需要使用闭包,但我不知道如何使用。

编辑:不使用let,我的意思是使用
var
而不是如果您不能使用
let
,您可以始终使用:

let timer=()=>{
对于(变量i=0;i<5;i++){
(i=>{
设置超时(()=>{
控制台日志(i)
},i*1000)
})(一)
}
}

定时器()如果不是
var
。。。您正在尝试使用
const
?我想我不确定不使用
let
@stealthteninja的目的是什么,可能是为了避免使用ES6+@stealthteninja,我的意思是只使用
var
递归,不同时超时。
let timer = () => {
  for(let i = 0; i < 5; i ++) {
    setTimeout(() => {
      console.log(i)
    }, i * 1000)
  }
}
timer();