的作用域只分爲“全局作用域”和“函數作用域”。
判斷一個變量的作用域說起來很簡單,在函數中定義的就是函數作用域,在函數外定義的就是全局作用域。(當然,有特殊情況,下面會提到。)
既然JavaScript中的變量的作用域是以函數來劃分的,那麼也就不取決於在哪個代碼塊裏。舉個例子,有如下代碼:
if(1){
var t=1;
}
alert(t);<pre name="code" class="javascript">
會發現,t在代碼塊外也可以訪問,而且屬於全局域。
我在上文提到了一個特殊情況,在函數裏定義的變量也有可能是全局域。例如以下代碼:
function tt(){
aa="showtext";
}
tt();
alert(aa);
可以發現,aa在函數外也是可以訪問的,這種在函數裏的“隱式定義”的變量也是全局域的。