當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript入门(part10)--作用域
生活随笔
收集整理的這篇文章主要介紹了
JavaScript入门(part10)--作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考,有錯必糾
參考自:pink老師教案
文章目錄
- JavaScript入門
- 作用域
- 作用域概述
- 全局作用域
- 局部作用域
- 變量的作用域
- 全局變量
- 局部變量
- 全局變量和局部變量的區別
- 作用域鏈
JavaScript入門
作用域
作用域概述
通常來說,一段程序代碼中所用到的名字并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。作用域的使用提高了程序邏輯的局部性,增強了程序的可靠性,減少了名字沖突。
全局作用域
作用于所有代碼執行的環境(整個script標簽內部)或者一個獨立的js文件.
局部作用域
作用于函數內的代碼環境,就是局部作用域。 因為跟函數有關系,所以也稱為函數作用域。
變量的作用域
在JavaScript中,根據作用域的不同,變量可以分為兩種:
- 全局變量
- 局部變量
全局變量
在全局作用域下聲明的變量叫做全局變量,即在函數外部定義的變量:
- 全局變量在代碼的任何位置都可以使用;
- 在全局作用域下var聲明的變量是全局變量;
- 特殊情況下,在函數內不使用var聲明的變量也是全局變量。
局部變量
在局部作用域下聲明的變量叫做局部變量,即在函數內部定義的變量:
- 局部變量只能在該函數內部使用;
- 在函數內部var聲明的變量是局部變量;
- 函數的形參實際上就是局部變量。
全局變量和局部變量的區別
- 全局變量:在任何一個地方都可以使用,只有在瀏覽器關閉時才會被銷毀,因此比較占內存;
- 局部變量:只在函數內部使用,當其所在的代碼塊被執行時,會被初始化;當代碼塊運行結束后,就會被銷毀,因此更節省內存空間。
作用域鏈
只要是代碼都一個作用域中,寫在函數內部的代碼在局部作用域中,未寫在任何函數內部的代碼在全局作用域中;
如果函數中還有函數,那么在這個作用域中就又可以誕生一個作用域;
根據在**[內部函數可以訪問外部函數變量]**的這種機制,用鏈式查找決定哪些數據能被內部函數訪問,就稱作作用域鏈.
- 舉個例子
HTML代碼:
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>數據類型</title><script>var a = 1;function fn1() {var a = 2;var b = '22';fn2();function fn2() {var a = 3;fn3();function fn3() {var a = 4;console.log(a); //a的值 ?console.log(b); //b的值 ?}}}fn1();</script></head><body></body></html>控制臺:
圖解:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JavaScript入门(part10)--作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript入门(part9)-
- 下一篇: 方舟哪里适合建家(方舟生存进化)