060_JavaScript作用域
1. 作用域指的是您有權訪問的變量(對象和函數也是變量)集合。
2. JavaScript函數作用域
2.1. 在JavaScript中有兩種作用域類型:
- 局部作用域
- 全局作用域
2.2. JavaScript擁有函數作用域: 每個函數創建一個新的作用域。事實上代碼塊{}也可以創建一個作用域, 只不過代碼塊一般用于函數。
2.3. 作用域決定了這些變量的可訪問性(可見性)。
2.4. 函數內部定義的變量在函數外部是不可訪問的(不可見的)。
3. 局部變量
3.1. 在JavaScript函數中聲明的變量, 會成為函數的局部變量。
3.2. 局部變量只能在函數內訪問。
3.3. 由于局部變量只能被其函數識別, 因此可以在不同函數中使用相同名稱的變量。
3.4. 局部變量在函數開始時創建, 在函數完成時被刪除。
3.5. 實例
// 此處的代碼不能使用carNamefunction myFunction() {var carName = "Volvo";// 此處的代碼可以使用carName }4. 全局變量
4.1. 函數之外聲明的變量, 會成為全局變量。
4.2. 全局變量的作用域是全局的: 網頁的所有腳本和函數都能夠訪問它。
4.3. 實例
var carName = "porsche";// 此處的代碼能夠使用carName變量function myFunction() {// 此處的代碼也能夠使用carName變量 }5. 自動全局
5.1. 如果您為尚未聲明的變量賦值, 此變量會自動成為全局變量。
5.2. 這段代碼將聲明一個全局變量carName, 即使在函數內進行了賦值。
myFunction();// 此處的代碼能夠使用carName變量function myFunction() {carName = "porsche"; }5.3. 在"嚴格模式"中不會自動創建全局變量。所有現代瀏覽器都支持以"嚴格模式"運行JavaScript。
6. 全局對象
6.1. 在web瀏覽器中, 全局對象就是瀏覽器對象(window)。
6.2. 所有全局變量均屬于window對象。
6.3. 如果一個函數不是JavaScript對象的方法, 那么它屬于window對象的函數。
7. JavaScript變量的有效期
7.1. JavaScript變量的有效期始于其被創建時。
7.2. 局部變量會在函數完成時被刪除。
7.3. 全局變量會在您關閉頁面是被刪除。
總結
以上是生活随笔為你收集整理的060_JavaScript作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 058_JavaScript函数argu
- 下一篇: 061_JavaScript闭包