像下面这样就错了,浏览器也没报错,但是alert只能出现一次。因为i在func()里不是局部变量。 function test(){ for(i=0;i<2;i++){ alert(func()); } } function func(){ i=0; i++; return i; } 应该在func()的i前加 var 声明为局部变量 function test(){ for(i=0;i<2;i++){ alert(func()); } } function func(){ var i=0; i++; return i; }