在 js 中有兩種做用域:全局做用域,局部做用域。瀏覽器
- 全局做用域
- 直接寫在 <script> 標籤中的變量和方法。
- 在網頁打開時建立,在網頁關閉時銷燬。
- 全局做用域有一個全局對象 window,能夠直接使用。。。表明瀏覽器的窗口,由瀏覽器建立
- 在全局做用域中建立的變量和函數,都會做爲 window 的屬性和方法保存。
- 變量的聲明提早,函數的聲明提早
- 指的是,用 var 和 function 關鍵字建立的變量和函數,會在全部代碼執行以前聲明。。。僅僅是聲明,不會賦值。
- 函數做用域
- 建立函數時,同時建立函數做用域。執行完畢時銷燬函數做用域。
- 每次函數建立的函數做用域,彼此獨立。
- 對於某個變量,首先會查找函數做用域,找到就直接使用,沒找到就找全局做用域。
- 全局做用域中不能夠訪問到函數做用域中的變量。
- 在函數中能夠操做全局做用域中的變量。。。
- 函數中也存在 var 和 function 定義的變量和函數聲明提早,可是一樣的也不會賦值。
- 在函數中能夠經過 window. 來訪問全局變量。