<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // for (let i =0;i<5;i++){ // // } // alert(i); // 这里是访问不到i的 // 在script和for的{}之间的 // 在循环体内部是可以访问到的 for (var i=6;i<5;i++) { var b=7; } // alert(i);//6 // alert(b);//undefined // var除了函数以外是都没有作用域的 // 都会被读到即使for没有执行返回值为undefined // 如果是let就会报错因为没有执行,这个更符合逻辑 </script> </body> </html>