js和PHP等脚本语言for循环和if语句里面定义变量的作用域

在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;

原文地址:https://www.cnblogs.com/banyan-rong/p/3951117.html