簡體   English   中英

全局變量javascript,java,php,所有語言

[英]global variables javascript, java, php, all languages

我總是在網上讀到全局變量不好,而且我理解它們很糟糕,因為每個函數都可以訪問它們,並且如果應用程序中的每個函數都修改了全局變量,那么在大型應用程序中,跟蹤起來會變得非常困難。該變量在代碼中特定點的狀態。

但是我的問題是,如果我有一個無論如何都要使用每個函數的變量,將其聲明為全局變量是否更好? 不必每次在每個函數中都實例化我的變量?

另外,什么時候應該使用全局變量而不是局部變量?

每個變量代表某個真實或可想象的實體。 如果您確定實體是唯一的,則可以為其具有靜態變量。 例如,屏幕/鍵盤/鼠標設備用java.awt.Toolkit類型的靜態變量表示(可通​​過getter訪問)。 但是這種情況很少見。 通常,程序員會想到實體的單個實例,並為其聲明一個靜態變量,然后需要另一個類似的實體,從而導致費力的重構。

這全部與代碼運行時的內存利用率有關。 您總是嘗試在代碼運行時將較少數量的對象保存到內存中。如果對象的作用域(方法范圍)較小,則對象在內存中的生存時間會減少,因此內存利用率較高。 因此需要將變量保持在必要的范圍內。 但是您對全局變量的聲明並不完全正確,因為在Java中我們具有訪問修飾符(public,private,default等),如果任何全局變量(類變量)具有private修飾符,則無法在類外部進行修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM