全域性變數和區域性變數

2021-10-17 15:24:46 字數 853 閱讀 3346

全域性變數和區域性變數產生的原因

全域性變數和區域性變數他們的關鍵點在於宣告時所處的位置,因為宣告時所處的位置不同決定了該變數將來成為全域性變數或者區域性變數

全域性變數
定義在函式外部,在頁面的任何位置都能正常訪問的變數

全域性變數

使用瀏覽器開啟html文件,在html文件中所有的標籤都是一直存在的,而標籤中的內容也是一直存在的。因為script標籤一直存在並工作,所以全域性變數也是一直存在並工作的。

變數的本質就是在記憶體中開闢一塊空間,變數名就是為這塊空間取乙個你認為合適的名字,而變數的值就是往這塊空間內放入一些東西方便將來的使用。

因為全域性變數一直存在所以該記憶體空間也一直保留,故而我們在頁面的任何位置都是可以使用全域性變數的。

優點

缺點

區域性變數
定義在函式內部,只能在該函式內部訪問

區域性變數

區域性變數是處於函式內部的,函式在執行之前函式中所有的內容瀏覽器都不會去嘗試解析或者執行,所以在函式中宣告的變數是不存在的。

函式執行時程式才會找到記憶體要一塊空間用於存放變數的值,此時該區域性變數是可以被訪問的。

當函式執行完畢後也就意味著乙個動作的結束,而這個函式的函式體也就沒用了,所以js語言為了讓記憶體得到最大程度的利用就會把函式體中的所有的東西都清理出記憶體;這樣一來原本在函式中宣告的變數也就從記憶體中清理出去,所以我們在函式外部訪問區域性變數的時候只會得到報錯的結果。

全域性變數和區域性變數

全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...

全域性變數和區域性變數

區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...

全域性變數和區域性變數

通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...