的作用域只分为“全局作用域”和“函数作用域”。
判断一个变量的作用域说起来很简单,在函数中定义的就是函数作用域,在函数外定义的就是全局作用域。(当然,有特殊情况,下面会提到。)
既然JavaScript中的变量的作用域是以函数来划分的,那么也就不取决于在哪个代码块里。举个例子,有如下代码:
if(1){
var t=1;
}
alert(t);<pre name="code" class="javascript">
会发现,t在代码块外也可以访问,而且属于全局域。
我在上文提到了一个特殊情况,在函数里定义的变量也有可能是全局域。例如以下代码:
function tt(){
aa="showtext";
}
tt();
alert(aa);
可以发现,aa在函数外也是可以访问的,这种在函数里的“隐式定义”的变量也是全局域的。