首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS没"块作用域"

2012-11-04 
JS没有块作用域没别的意思,只是记下来而已,这在犀牛书上是明明白白地写着的。scriptfor(var i 0 i

JS没有"块作用域"
   没别的意思,只是记下来而已,这在犀牛书上是明明白白地写着的。

<script>for(var i = 0; i < 10; i++){    var a = i;}alert(a);//alert 9,而不是undefined,或报错,a被注册到全局变量里去了</script>

稍微加深一下
<script>try{  alert(abcde);}catch(e){  alert(e);}//报错try{  alert(a);}catch(e){  alert(e);}//alert undefined,而不是报错,原因同上for(var i = 0; i < 10; i++){    var a = i;}</script>

再来1个
<script>var s=2;function test(){   alert(s);//undefined   var s=1;   alert(a);//undefined   if(s===3){      var a=2;   }   alert(a);//undefined}test();alert(s)//2,从全局变量中寻找s</script>

上例中的test()相当于
function test(){  var s;  var a;  alert(s);  s=1;  alert(a);  if(s===3){    a=2;  }  alert(a);}

热点排行
Bad Request.