在js和PHP等脚本语言中for循环中的定义变量,会先把var l 提到for循环外面,(只会定义一次l),所以for循环外面可以输出l
var a=0;
if(a==0) { var i=1; }
alert(i);
for(var j=0;j<5;j++) { }
alert(j);
for(var k=0;k<5;k++){ var l=3; }
alert(l);
在c#等语言中 for(int i=0;i<5;i++){ string a="abc"; }
这里就会在编译的时候,出现5个string a;