<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 局部變量和全局變量之間的差異 > 原文: [https://www.guru99.com/local-vs-global-variable.html](https://www.guru99.com/local-vs-global-variable.html) ## 什么是變量? 變量是分配給程序可以操作的存儲區的名稱。 變量類型決定了變量的內存大小和布局。 它還確定需要存儲在該內存中的值的范圍以及可以應用于該變量的操作的性質。 在本教程中,您將學習 * [變量范圍](#1) * [局部變量](#2)的定義 * [全局變量](#3)的定義 * [局部變量與全局變量](#4) * [使用全局變量](#5)的優勢 * [使用局部變量](#6)的優勢 * [使用全局變量](#7)的缺點 * [使用局部變量](#8)的缺點 * [還有什么用?](#9) ## 變量范圍 變量的范圍只是變量的生存期。 它是代碼所適用或存在的代碼塊。 例如: ``` function foo(){ var x; } ``` 您可以在函數“ foo”中聲明變量“ x”。 該變量的范圍保留在該函數內部,不能在該函數外部使用。 您可以在三個位置聲明變量的編程語言: * 在函數或塊內:局部變量 * 所有功能之外:全局變量 * 在功能參數的定義中:形式參數 ## 局部變量的定義 局部變量是在編程塊或子例程中聲明的變量的類型。 它只能在聲明它們的子例程或代碼塊內使用。 局部變量將一直存在,直到執行該功能塊為止。 之后,它將被自動銷毀。 **局部變量**的示例 ``` public int add(){ int a =4; int b=5; return a+b; } ``` 這里,“ a”和“ b”是局部變量 ## 全局變量的定義 全局變量在子例程或函數之外定義。 全局變量將在程序的整個生命周期內保持其值。 可以在為該程序定義的任何功能中訪問它們。 例: ``` int a =4; int b=5; public int add(){ return a+b; } ``` 在這里,“ a”和“ b”是全局變量。 ## 局部變量 Vs。 全局變量 ![](https://img.kancloud.cn/70/03/700335161618e58f49e72a45ea47339a_601x168.png) 這里是局部變量和全局變量之間的一些根本區別。 | **參數** | **本地** | **全局** | | 范圍 | 它在函數內部聲明。 | 它在函數外部聲明。 | | 值 | 如果未初始化,則會存儲垃圾值 | 如果未初始化,則默認存儲零。 | | 一生 | 它在函數開始執行時創建,在函數終止時丟失。 | 它是在程序的全局執行開始之前創建的,并在程序終止時丟失。 | | 資料共享 | 由于只能通過一個功能訪問局部變量的數據,因此無法進行數據共享。 | 由于多個功能可以訪問相同的全局變量,因此可以進行數據共享。 | | 參量 | 局部變量需要參數傳遞才能訪問其他函數中的值 | 全局變量不需要參數傳遞,因為它在整個程序中都是可見的 | | 修改變量值 | 當在一個函數中修改局部變量的值時,更改在另一函數中不可見。 | 當在一個函數中修改了全局變量的值時,在其余程序中可見更改。 | | 被訪問 | 局部變量可以在聲明它們的函數內部的語句幫助下進行訪問。 | 您可以通過程序中的任何語句訪問全局變量。 | | 記憶體儲存 | 除非指定,否則它存儲在堆棧中。 | 它存儲在編譯器確定的固定位置上。 | ## 使用全局變量的優點 * 您可以從程序中的所有功能或模塊訪問全局變量 * 您只需要一次在模塊外部聲明全局變量。 * 它理想地用于存儲“常量”,因為它可以幫助您保持一致性。 * 當多個函數正在訪問同一數據時,全局變量很有用。 ## 使用局部變量的優點 * 使用局部變量可確保在任務運行時變量的值保持不變 * 如果多個任務更改了同時運行的單個變量,則結果可能無法預測。 但是將其聲明為局部變量可以解決此問題,因為每個任務都會創建自己的局部變量實例。 * 您可以在不同的函數中給局部變量起相同的名稱,因為它們只能由聲明它們的函數識別。 * 一旦任何函數結束,局部變量將被刪除并釋放其占用的內存空間。 ## 使用全局變量的缺點 * 太多的變量聲明為全局變量,然后它們保留在內存中,直到程序執行完成。 這可能會導致內存不足問題。 * 數據可以通過任何功能進行修改。 程序中編寫的任何語句都可以更改全局變量的值。 在多任務環境中,這可能會帶來不可預測的結果。 * 如果由于代碼重構而中斷了全局變量,則需要更改調用它們的所有模塊。 ## 使用局部變量的缺點 * 局部變量的調試過程非常棘手。 * 由于模塊之間無法共享數據,因此需要重復傳遞的通用數據。 * 它們的范圍非常有限。 ## 還有什么用? 用任何語言編寫程序時,局部變量和全局變量同等重要。 但是,大量的全局變量可能會占用大量內存。 全局變量的不良更改變得難以識別。 因此,建議避免聲明不需要的全局變量。 ## 關鍵區別 * 局部變量在函數內部聲明,而全局變量在函數外部聲明。 * 局部變量在函數開始執行時創建,而在函數終止時丟失,而全局變量在執行開始時創建,而在程序結束時丟失。 * 局部變量不提供數據共享,而全局變量提供數據共享。 * 局部變量存儲在堆棧上,而全局變量存儲在編譯器確定的固定位置上。 * 局部變量需要傳遞參數,而全局變量則不需要傳遞參數
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看