在js和PHP等脚本语言中for循环中的定义变量,会先把var l 提到for循环外面,(只会定义一次l),所以for循环外面可以输出l
<...script>
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;js和PHP等脚本语言for循环和if语句里面定义变量的作用域
原文:http://www.cnblogs.com/banyan-rong/p/3951117.html