let a = 1function fn(){ console.log(a)}//调用fn()返回值为1let i = 0for( i = 0;i<6;i++){setTimeout(()=>{ console.log(i) },0)}//结果是6个6。因为当i=6时,不满足循环条件使得循环结束,所以一共有六次循环。//setTimeout是定时器,虽然时间等于0,但是也要在所有代码执行完了在执行setTimeout。//因为所有循环执行完后i=6,setTimeout调用i的值,所以使得这六次循环返回值都为6。for(let i = 0;i<6;i++){setTimeout(()=>{ console.log(i) },0)}//当将for中的循环变量,声明为let时,该循环变量将不再执行setTimeout,而是返回正常循环值。//其余方法打印0,1,2,3,4,5let i = -1while (i<5){ i++ console.log(i)}//其余方法打印0,1,2,3,4,5let i = [0,1,2,3,4,5]i.forEach((item)=>console.log(item))