{
var i=0; setTimeout(()=>{console.log(i),10});
{
var i =1; setTimeout(()=>{console.log(i),10});
{
var i=2; setTimeout(()=>{console.log(i),10})
}
}
} // 2 2 2
/**
* 拥有函数定义域,不拥有块级定义域,导致i 只有一个
* 而for 的循环就是块级定义域
*/
{
let i=0; setTimeout(()=>{console.log(i),10});
{
let i =1; setTimeout(()=>{console.log(i),10});
{
let i=2; setTimeout(()=>{console.log(i),10})
}
}
} // 0 1 2
/**
* 拥有函数定义域,拥有块级定义域,这是三个独立的i
* 而for 的循环就是块级定义域
*/
var和Let区别中,for输出五次5 的原因
最新推荐文章于 2024-04-11 11:50:38 发布