Javascript中的作用域:
- 函數(shù)作用域:在函數(shù)中聲明的變量只在函數(shù)體內(nèi)部可見,包括嵌套函數(shù)內(nèi),在函數(shù)外部不可訪問
- 全局作用域:不在函數(shù)體內(nèi)定義的變量是全局變量,在整個Javascript程序中都是可見的
- Javascript沒有塊作用域,比如for while循環(huán)體(花括號)內(nèi)定義的變量,在循環(huán)體外也可以訪問,是全局變量
由于沒有塊作用域,為了防止全局命名空間被污染,經(jīng)常通過定義一個函數(shù)用作臨時命名空間,通常使用匿名函數(shù)的方式。
(function(){// 函數(shù)重寫為匿名的函數(shù)表達(dá)式模塊代碼
//mymodule() //模塊代碼
}()) //定義完直接調(diào)用