Javascript ';让';带setTimeout()的for循环中 let timer=()=>{ for(设i=0;i{ 控制台日志(i) },i*1000) } } 定时器();
上述代码将以1000毫秒的间隔打印0、1、2、3、4Javascript ';让';带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{ 设置超时(()=>{
如果我将
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();